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?