It sounds like a bit of a silly question, but I couldn't find any answers. I've noticed that in the command mode, the Vim cursor doesn't go until the complete end of the line and stops at the last character. Why does it do this? And is there a way to change this behavior?

  • 1
    It may feel unusual at first, but I don't mind anymore. Why would you like to move it behind the last character, is there some usecase broken?
    – dedObed
    Sep 13, 2020 at 18:52
  • No, that's not the case at all. I was just curious because sometimes I want to enter insert mode at the end of the line but found it odd that I was having to move one space to the right every time I did that. But you're right, I am getting used to it.
    – Sean
    Sep 13, 2020 at 23:41
  • 3
    @Seankala You can actually use <kbd>A</kbd> (shift + a) to start inserting at the end of the line (from anywhere on the line).
    – Biggybi
    Sep 14, 2020 at 2:54

1 Answer 1


Why does it do this?

Cursor is on a character that has actual place in a buffer. After the last character there is no actual place to put cursor on. Unless you use virtual place.

And is there a way to change this behavior?

To make it have one more character after the end of line use virtualedit option:

set virtualedit+=onemore

PS, some external plugins might become broken if you set it.

  • Thank you for this answer, this seemed like such an arbitrary feature to me until now, that totally makes sense lol Aug 15, 2022 at 14:13

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.