Vim Tips Wiki
Register
Advertisement
Tip 39 Printable Monobook Previous Next

created 2001 · complexity basic · version 6.0


To undo recent changes, from normal mode use the undo command:

  • u: undo last change (can be repeated to undo preceding commands)
  • Ctrl-r: Redo changes which were undone (undo the undos). Compare to . to repeat a previous change, at the current cursor position. Ctrl-r (hold down Ctrl and press r) will redo a previously undone change, wherever the change occurred.

A related command is:

  • U: return the last line which was modified to its original state (reverse all changes in last modified line)

U is not actually a true "undo" command as it does not actually navigate undo history like u and Ctrl-r. This means that (somewhat confusingly) U is itself undo-able with u; it creates a new change to reverse previous changes.

U is seldom useful in practice, but is often accidentally pressed instead of u, so it is good to know about.

Undo Tree[]

Note that unlike most programs which maintain a linear undo history, Vim maintains an undo tree containing every edit made to a buffer. To learn how to use Vim's undo tree, see the separate article on using undo branches.

References[]

Comments[]

:nnoremap U :echo " < < ===== C H E C K   C A P S   L O C K ===== > > "<CR>
Advertisement