This question already has an answer here:

If I have vim in a windowed terminal, sometimes I paste (using the terminal's paste functionality, e.g. middle click) from another window that isn't vim. Most of the time, when I do this, I wanted to be in insert mode.

Obviously, this mistake can basically do anything that vim can do; most of the time there will be an early insert-mode character that will prevent most forms of document damage.

What's the best way to recover from this mistake?

marked as duplicate by 200_success, Gilles, Dom, Martin Tournoij, Doorknob Feb 3 '15 at 22:44

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

  • In case of you didn't know about 'u' - undo. – ds6AUW Feb 5 '15 at 8:51

Assuming that no :w or :write command was issued, all of the changes should still be in the buffer only, not written to disk.

An :earlier 30s command should restore your buffer to the state it was in 30 seconds ago.

Of course, if you want to discard all changes, there's always :quit!.

  • 1
    If :w did happen, will :earlier 30s still work? – durron597 Feb 3 '15 at 20:12
  • 1
    :earlier 30s restores the buffer to the state it was in 30 seconds ago. After reverting, you would then have to save it using :w. – 200_success Feb 3 '15 at 20:13

Not the answer you're looking for? Browse other questions tagged or ask your own question.