I'm having trouble understanding the cursor in the context of Vim commands, e.g. insertion, deletion, movement, etc:
- When the cursor is hovering over a character and I want to delete until the end of the line, or to the beginning of the line, should I expect that the character it's pointing to will also be deleted?
- When I enter
insert
mode, should I expect that the insertion will take place before or after the current character? - What about when pasting with
p
?
I'm not looking for specific answers to these examples, I'm looking for a general explanation or rules to understand the "current position" so I don't keep executing commands that end up being off by 1 character because I misinterpreted it. In GUI editors the caret usually sits between instead of on top of characters, so it's never been a source of confusion.
:h D
and you'll readDelete the characters under the cursor until the end of the line
, entering insert mode if you usea
you append text after the cursor if you usei
you insert text before the cursor, if you read:h p
and scroll to:h P
you'll see that one command is 'paste before' and the other 'paste after'... Your best option is to read the doc:help guicursor
). I wouldn't recommend that you change it to be a vertical-bar type cursor when in normal mode (It might help you interpret motions, but I think it would make commands likea
andp
confusing), but you can.