0

我正在通过undofile以下方式使用 Vim 7.3 功能:

if version >= 703
 set undofile
 set undodir=$HOME/.vim/undo
 set undolevels=1000
 set undoreload=10000
endif

我在.vimrc不支持 Vim 7.3 但使用不支持开箱即用撤消文件的旧 7.2 版本的不同机器上使用相同且相同的文件(在云存储中)。7.2版本兼容7.3 undofile有解决办法吗?

4

1 回答 1

4

版本检查

因为 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 到您的主目录。

于 2013-04-26T06:52:29.693 回答