我正在使用Vim 7.3功能undofile
,方法如下:
if version >= 703
set undofile
set undodir=$HOME/.vim/undo
set undolevels=1000
set undoreload=10000
endif
我在不支持Vim 7.3的不同机器上使用相同的.vimrc
和相同的文件(在云存储中),但使用不支持undofile开箱即用的旧7.2版本。是否有与7.3 undofile兼容的7.2版本的解决方案?
答案 0 :(得分:4)
由于Vim 7.3引入了持久性撤消,因此您的版本检查很好,并且可以防止旧版Vims中的错误。通常,您会检查功能本身; :help 'undofile'
有这样的说明:
{only when compiled with the |+persistent_undo| feature}
因此,正确的检查(也处理在没有该功能的情况下显式编译的Vim 7.3版本)将是:
:if has('persistent_undo')
在核心Vim中实现持久性撤销的原因是,在插件中这将非常困难甚至无法实现。因此,我知道没有将此功能反向移植到Vim 7.2的插件;我也没有看到任何这种努力的动机,因为该功能是非必要的,解决方案非常简单:只需升级到最新的Vim。如果您必须具有在系统上安装Vim的管理权限,则可以将Vim的用户本地安装编译或复制到您的主目录中。