I Googled this but was unable to find any clear explanation.
A lot of people praise Vim for sort of being its own internally consistent language but I am failing to see the consistency.
Since hjkl
are left down up right:
dh
is like "delete left" and it deletes the character to the left of the cursor, makes sense so far.
dl
is like "delete right" but it deletes... the current character?
dj
is like "delete down" and I'd assume this just deletes the line below, but it actually deletes the current line as well!
'dk' is like "delete up" and similarly I'd expect it just clears the line above, but instead it clears the current line AND the one above it.
Can anyone explain what the logic is here? I am okay with the idea of delete + left and right handling characters on the same line, and delete + up and down handling lines, but why is the behavior so inconsistent? What's the logic I am missing here?
Or is it really more of a "there is no consistent logic here really, just memorize it" thing?