The undo command feels a bit random. Sometimes it undoes massive chunks, sometimes tiny changes. How is the cut-off point determined?
-
This great series of videos can help getting started with vim– mattbJun 22 at 16:49
1 Answer
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>
-
4I'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