Helps undo 1 line when entered many
From Vim Tips Wiki
created 2001 · complexity basic · author Stepan Koltsov · version 6.0
When you entered text, you cannot undo only 1 line, for example, when you press "u", all entered in last "insert" text removed.
If you add this line to vimrc
inoremap <CR> <CR>^O^[
where "^O" or "^[" is 1 char
"u" will undo (remove) only 1 line.
First idea -- write:
:inoremap <CR> <CR>a^Ox
it works, but it looks not nice.
That mapping causes a problem if you break an existing line up, for e.g. if have the following line.
pressing return in between 'Text' And 'OnALine' will give you..
The 'O' gets replaces with the 'a'.
Adding a <Left> seems to work ok for me
inoremap <CR> <CR>a<Left>^Ox
You could also map <CR> to start a new undo sequence using <C-G>u
:inoremap <CR> <C-G>u<CR>
Chrisbra 08:51, May 13, 2010 (UTC)