Answers:
您似乎只是拥有未修补的vim版本,否则:version
命令或--version
参数将在第二行列出修补程序。例如在我的机器上说:
VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Sep 10 2014 09:36:33)
Included patches: 1-207, 209-355, 357-430
这是“补丁程序级别” 430,但是它跳过补丁程序208和356。
Vim没有超出major.minor的“次要版本号” ;尽管我相信某些发行版可能会使用“补丁程序级别”。
如上所示,并非所有补丁都包括在内,因此,如果您要使用此值,则不能只检查数字是否高于某个特定版本。
通常,最好的方法是使用has("patch-7.4-399")
;如果满足以下条件,则返回true:
您还可以使用的形式has('patch399')
,通常使用如下形式:
if v:version == 704 && has('patch399')
但是要注意;对于Vim 7.5 这将是错误的;仅在非常特殊的情况下使用此功能。
请参阅参考资料:help feature-list
。
除了重定向:version
和解析外,我找不到列出所有包含的补丁的方法。我也不确定这怎么会有用,has()
应该足够了:-)
patch-7-4-399
;-)
patch-7.4.399
格式仅在之后可用7.4.237
。请参阅:h has-patch
。
has('patch-7.4-399')
检查major.minor和补丁版本的全部功能(不v:version
使用):与使用-
破折号或.
点无关。
has("patch-7.4-399")
还是has("patch-7.4.399")
?(后者是通过一些代码完成向我建议的,并且似乎也是您提供的链接中所实际描述的内容)