vim persistent undo无法正常工作

Jul*_*ULD 6 vim undo persistent

我试图使用vim 7.4.9持久撤消

在我的vimrc中,我有:

set undodir=/home/myname/.vim/undo//
set undofile
set undolevels=1000
set undoreload=10000
Run Code Online (Sandbox Code Playgroud)

当然/home/myname/.vim/undo目录存在.

我用vim打开了一些文件并进行了一些更改.

我在/home/myname/.vim/undo/中看到了undofiles:

$ ll /home/myname/.vim/undo/
total 23K
-rw-r--r-- 1 hpcpcollab hpcpcollab  523 18 sept. 11:23 %home%myname%foo
-rw-r--r-- 1 hpcpcollab hpcpcollab  14K 18 sept. 11:03 %home%myname%bar
-rw-r--r-- 1 hpcpcollab hpcpcollab 2,2K 18 sept. 11:52 %home%myname%test
Run Code Online (Sandbox Code Playgroud)

但是,当我关闭这些文件时,重新打开它们,并按"u"以撤消,vim回复:"已经在最早的更改".

我错过了什么?

谢谢

朱利安

Bir*_*rei 0

我不知道原因,但你可以使用解决方法。创建一个在加载要编辑的文件后autocommand读取保存历史记录的目录:undo

au FileReadPost * rundo /home/myname/.vim/undo
Run Code Online (Sandbox Code Playgroud)