独立于Vim版本的Undofile

我正在使用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和相同的文件(在云存储中),但使用不支持outof box的旧版本7.2。 是否有与7.3版本兼容的7.2版本的解决方案?


版本检查

由于Vim 7.3引入了持久性撤销,因此您的版本检查没问题,并且可以防止旧版Vim中的错误。 通常,您会检查该功能本身; :help 'undofile'有这个注意:

{only when compiled with the |+persistent_undo| feature}

因此,正确的检查(也可以处理在没有该功能的情况下显式编译的Vim 7.3版本):

:if has('persistent_undo')

Vim 7.2的持久撤消

核心Vim中实现持久性撤消的原因是,在插件中这将非常困难甚至不可能。 因此,我知道没有将此功能支持Vim 7.2的插件; 我也没有看到这样的努力的动机,因为这个功能是非必要的,解决方案非常简单:只需升级到最新的Vim。 如果您必须具有在系统上安装Vim的管理权限,则可以编译或复制Vim的用户本地安装到您的主目录中。

链接地址: http://www.djcxy.com/p/49483.html

上一篇: Undofile independent of the Vim version

下一篇: Remap Vim keys to avoid RSI in left hand