33

我在周围找了好一阵子。

我想在 vim 插件文件中添加一行,如果在不受支持的 vim 版本上运行,它将禁用它。

我记得在某个地方它是这样的:

if version > 730
    "plugin code goes here
endif

但那失败了。

4

1 回答 1

57

版本控制方案不同;Vim 7.3 是703,不是730

另外,为了清楚起见,我建议使用v:version(这是一个特殊的 Vim 变量)。

通常,检查功能的可用性(例如exists('+relativenumber'))比测试引入该功能的 Vim 版本更好,因为 Vim 可以使用不同的功能进行自定义编译。

最后,插件通常以相反的方式进行保护:

if v:version < 703
    finish
endif
" Plugin goes here.

将它与包含保护结合起来是一个很好的做法。这允许个人用户禁用(系统范围)安装的插件:

" Avoid installing twice or when in unsupported Vim version.
if exists('g:loaded_pluginname') || (v:version < 700)
    finish
endif
let g:loaded_pluginname = 1
于 2012-08-02T09:54:52.490 回答