Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm a pro user of vim, however, somehow I don't seem to have definitively figured out the use of time based undo, or maybe I don't really like it. Is there a way I can undo a deletion caused by Ctrl-w W3I will be really grateful for the help.

Thanks.

share|improve this question
    
If you're referring to undoing ^W deletes made as part of an insert operation, I'm with you in wanting to know. I guess you could remap it to something that saves the value in a script- or buffer-local variable, but I don't think there's a way to do this built into vim. But I'm confused by your mention of time-based undo, ie g- and g+, which AFAIK is not related to the use of i_^W. – intuited May 29 '10 at 22:56

The tip title refers to Ctrl+U which is similar but not quite the same as Ctrl+W. However the same method can be used for both.

Recover from accidental Ctrl+U.

You can't undo these deletions. However, what you've typed is still in the . register. You can confirm that (after pressing Esc to return to normal mode) with the command :reg which will list all registers (or just :reg . to display the . register). You may be able to copy the missing text from the register display, for example, with the mouse.

Unfortunately, simply pasting the . register won't help because it will repeat the Ctrl-u or Ctrl-w and will delete the text again. However, you can use another register (register a in the following):

:let @a = @.
"aP

The above will paste all the text you last inserted, including what was accidentally deleted.

share|improve this answer
up vote 3 down vote accepted
:inoremap <C-w> <C-g>u<C-w>

<C-g>u sets undo point to the current point. And then <C-w> does the deletion work.

share|improve this answer

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .