首页 > 代码库 > vim7.3的持久撤销

vim7.3的持久撤销

最近几天折腾git,发现一个麻烦的问题。用macvim编辑文件时总会生成一个 .<FILENAME>.un~的隐藏文件,文件对别的协同开发者来说没啥用,可以每次都把 .*.un~添加到

.gitignore文件用来忽略此类文件,但是比较麻烦。google了好久终于找到,原来这个文件是用来持久撤销的,较新的vim支持此功能,所以可以类似于把备份文件一样的处理方式统一把这些文件放到一个文件夹里。

http://wiki.ktmud.com/tips/Vim.html

Vim7.3 的持久撤销

Vim 7.3 提供 持久撤销 (Persistent Undo) 功能,即使文件关闭后,再次打开时仍然可以撤销文件关闭之前的编辑历史。要使用这一功能,在 vimrc 中添加

" 重启后撤销历史可用 persistent undo 
set undofile
set undodir=$VIMFILES/\_undodir
set undolevels=1000 "maximum number of changes that can be undone

set undofile - 开启本功能。开启之后会默认在文件当前目录下建立一个 filename.ext.un~ 的文件,自然是会给我们带来麻烦的。所以配置一个 undodir 集中放置所有undofile。

$VIMFILES/\_undodir - $VIMFILES 是我们之前在 vimrc 中定义的环境变量, windows 下是 $VIM/vimfiles/ 。请注意,为了和其他目录区分,undodir前面有下划线 _undodir 。因为有下划线,前面的反斜杠又不可少了。而且这个目录必须自己手动建立。如果不存在,Vim 是不会帮你自动建立的。