Brian
Brian

Reputation: 3601

Vim loses undo history when changing buffers

If I'm working in a file, change to another buffer, and then change back, I have lost my undo history.

  1. vim File1.txt - make a bunch of changes & save.
  2. Open new buffer - :e test.txt
  3. Switch back to File1.txt - :b#
  4. Undo history is gone.

Any workarounds for this?

Upvotes: 72

Views: 6651

Answers (2)

Aaron Jensen
Aaron Jensen

Reputation: 6060

You can also add persistent undo, this will have vim store your undo even through restart:

" Persistent undo
set undofile
set undodir=$HOME/.vim/undo

set undolevels=1000
set undoreload=10000

Edit - via @sanbor:

Don't forget to do mkdir ~/.vim/undo, otherwise vim won't do it for you.

Upvotes: 70

Rüdiger Hanke
Rüdiger Hanke

Reputation: 6255

You could :set hidden. This means that the buffer of the old file will only be hidden when you switch to the new file. When you switch back, you still have your undo history.

Upvotes: 86

Related Questions