The undo command feels a bit random. Sometimes it undoes massive chunks, sometimes tiny changes. How is the cut-off point determined?


1 Answer 1


It undo the last command (e.g. i, c, d).

The insert (i) command can indeed be either rather large if you type a long text without leaving the insert mode or rather short if you just make a small change and leave the insert mode.

In insert mode you you can type Ctrlgu to split the insert operation and create shorter undo chunk.

Somes add the following mapping in their .vimrc file to make sure every words inserted in insert mode are in their own undo chunk.

:inoremap <space> <C-g>u<space>
  • 4
    I'm not personally a fan of the <space> thing; really, the idea is to leave insert mode when you pause (i.e., make hitting <esc> a habit). cf. :help undo-blocks, :help :changes, :help change.txt
    – D. Ben Knoble
    Jun 22 at 16:19

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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