vim --version
礼物
VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Oct 15 2014 16:18:44)
....
但是它没有给出补丁级别或次要版本号。
#1 楼
您似乎只是拥有未修补的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。除了major.minor之外,没有“次要版本号”;尽管我相信某些发行版可能会这样使用“补丁程序级别”。
如上所示,并非所有补丁程序都可以包括在内,因此,如果要使用此值,则不能通常,检查数字是否高于某个特定版本。
通常,最好的方法是使用
has("patch-7.4-399")
;如果满足以下条件,则将返回true:我们正在运行Vim 7.4,其中包含补丁399。
我们正在运行Vim 7.5或更高版本。
您还可以使用
has('patch399')
的形式,该形式通常用于:if v:version == 704 && has('patch399')
,但是要注意;对于Vim 7.5这将是错误的;仅在非常特殊的情况下使用此功能。
有关更多信息,请参见
:help feature-list
。我找不到列出所有包含的补丁的方法,其他而不是重定向
:version
并进行解析...我也不确定无论如何它都有用,因为has()
应该足够了:-)
评论
是has(“ patch-7.4-399”)或has(“ patch-7.4.399”)? (后者是通过一些代码完成向我建议的,并且似乎也是您提供的链接中实际描述的内容)
–akavel
15年3月24日在9:49
@akavel他们都工作。您甚至可以使用patch-7-4-399 ;-)
–马丁·图尔诺伊(Martin Tournoij)
15年3月24日在9:50
啊,awsum,然后:)
–akavel
15年3月24日在12:12
patch-7.4.399格式仅在7.4.237之后可用。参见:h has-patch。
–蓝色
16年6月29日在19:32
↑@blueyed指的是整个has('patch-7.4-399')功能,只需一次即可检查major.minor和补丁版本(不使用v:version):与是否使用-破折号无关要么 。点。
–亚伦·托马
17-10-17在4:33