Duplicate tip
This tip is very similar to the following:
These tips need to be merged – see the merge guidelines.
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.
Comments
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.
TextOnALine
pressing return in between 'Text' And 'OnALine' will give you..
Text ananALine
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)