VIM在更改缓冲区时会丢失撤消历史logging

如果我在一个文件中工作,切换到另一个缓冲区,然后改回来,我已经失去了我的撤消历史logging。

  1. File1.txt – 做一堆更改和保存。
  2. 打开新的缓冲区 – :e test.txt
  3. 切换回File1.txt – :b#
  4. 撤消历史消失。

任何解决这个问题?

你可以:set hidden 。 这意味着只有在切换到新文件时才会隐藏旧文件的缓冲区。 当你切换回来,你仍然有你的撤消历史。

您也可以添加持久性撤消,这将使vim存储您的撤消,即使通过重新启动:

 " Persistent undo set undofile set undodir=$HOME/.vim/undo set undolevels=1000 set undoreload=10000 

编辑 – 通过@sanbor:

不要忘记做mkdir ~/.vim/undo ,否则vim不会为你做。