Você parece simplesmente ter uma versão sem patch do vim, caso contrário, o :version
comando ou o --version
parâmetro listará os patches na segunda linha. Por exemplo, na minha máquina, diz:
VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Sep 10 2014 09:36:33)
Included patches: 1-207, 209-355, 357-430
Este é o "nível de patch" 430, mas ignora os patches 208 e 356.
O Vim não possui um "número de versão secundário" além do major.minor ; embora eu acredite que algumas distribuições possam usar o "nível de patch" como tal.
Como mostrado acima, nem todos os patches podem ser incluídos; portanto, se você quiser usar esse valor, não poderá apenas verificar se um número é maior que uma determinada versão.
Geralmente, a melhor maneira é usar has("patch-7.4-399")
; isso retornará verdadeiro se:
- Estamos executando o Vim 7.4 com o patch 399 incluído.
- Estamos executando o Vim 7.5 ou posterior.
Você também pode usar o formato de has('patch399')
, que normalmente é usado como:
if v:version == 704 && has('patch399')
Mas esteja ciente; isso será falso para o Vim 7.5; use isso apenas em casos muito específicos.
Veja :help feature-list
para mais algumas informações.
Não consigo encontrar uma maneira de listar todos os patches incluídos, além de redirecionar :version
e analisar isso ... Também não tenho certeza de como isso seria útil, pois has()
deveria ser o suficiente :-)
has("patch-7.4-399")
ouhas("patch-7.4.399")
? (o último me foi sugerido por algum preenchimento de código e também parece ser o que está realmente descrito no link que você forneceu )patch-7-4-399
;-)patch-7.4.399
formato está disponível apenas depois7.4.237
. Veja:h has-patch
.has('patch-7.4-399')
recurso de verificar as versões major.minor e patch em um único golpe (sem o recurso av:version
): independente de usar-
traços ou.
pontos.