Vim Tips Wiki

Helps undo 1 line when entered many

Redirected from VimTip86

1,623pages on
this wiki
Add New Page
Add New Page Talk0

Duplicate tip

This tip is very similar to the following:

These tips need to be merged – see the merge guidelines.

Tip 86 Printable Monobook Previous Next

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)

Also on Fandom

Random Wiki