所以我的问题是如果我在vim&中编写一些代码然后我想提前20分钟回来,然后在vim中输入:earlier 20m
。但如果我退出vim一次甚至重新启动系统,这不起作用。我知道它存储在临时寄存器中,一旦vim重新启动,它就会清除整个寄存器缓冲区。但有什么方法可以保存最后的变化&应用一些撤消机制。实际上我正在研究一些大型项目文件&如果出现问题,我不能回去。
答案 0 :(得分:5)
在Vim 7.3或更高版本中,您可以使用撤消文件。
将它放在你的.vimrc中。
set undofile
默认情况下,这将保存100个撤消操作。如果你想要更多,你可以通过将它添加到你的.vimrc手动设置,无论你想要什么号码:
set undolevels=100
持久撤消将在与您实际处理的文件相同的目录中创建撤消文件。如果你想将它们放在一个单独的目录中,这样它们就不会混乱你的文件系统,那就把它添加到.vimrc中:
set undodir=~/.vim/undo
然后,您需要实际制作目录。从命令行:
mkdir ~/.vim/undo
我会考虑使用版本控制而不是依赖vim的持久撤消来跟踪项目中的更改。