Why does vim have different cursor positions for the different modes? First, in insert mode, the cursor is between characters (like every other editor), second, in command mode, the cursor is under a character, thus requiring an 'i' or 'a' to put it between characters for writing mode. I mean, why isn't the cursor always positioned between characters regardless of mode? This is related to the question Why does ESC move the cursor back in vim?

1 Answer 1


First of all, it is not always that way - in normal console, you cannot have a cursor between characters because the console is divided into fixed number of regions. Each region can display a character, but there is no available space "between" them. So what actually looks like cursor in console is really a contrast background under a character.

So the cursors you ask for are for convenience (a visual hint, where a character will be inserted) in case of the insert mode. In other modes, the more logical and backward-compatible view is used. (Note that in "command" mode, for example, many commands operate either on the character under the cursor - could there be a more intuitive way to indicate, which character this is?)

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .