更改缓冲区时VIM丢失撤消历史记录

Bri*_*ian 66 vim

如果我在一个文件中工作,更改到另一个缓冲区,然后更改回来,我丢失了我的撤消历史记录.

  1. File1.txt - 进行一系列更改并保存.
  2. 打开新缓冲区 - :e test.txt
  3. 切换回File1.txt - :b#
  4. 撤消历史记录消失了.

有没有解决这个问题?

Rüd*_*nke 77

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

  • 我喜欢的vim,在这里糟透了一点:(默认情况下,":set hidden"选项应为ON. (5认同)

Aar*_*sen 60

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

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

set undolevels=1000
set undoreload=10000
Run Code Online (Sandbox Code Playgroud)

编辑 - 来自@sanbor:

别忘了做mkdir ~/.vim/undo,否则vim不会为你做.

  • 不要忘记做`mkdir ~/.vim/undo`,否则vim 不会为你做。来源:http://stackoverflow.com/questions/5700389/using-vims-persistent-undo (3认同)