Como conheço a versão do patch do meu vim?

17

Eu tenho o vim 7.4 instalado, mas não tenho certeza em que nível de patch estava quando o instalei. Como faço para verificar?

vim --version

VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Oct 15 2014 16:18:44)
....

Mas não fornece o nível do patch ou um número de versão menor.

Christopher Bottoms
fonte

Respostas:

25

Você parece simplesmente ter uma versão sem patch do vim, caso contrário, o :versioncomando ou o --versionparâ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-listpara mais algumas informações.


Não consigo encontrar uma maneira de listar todos os patches incluídos, além de redirecionar :versione analisar isso ... Também não tenho certeza de como isso seria útil, pois has()deveria ser o suficiente :-)

Martin Tournoij
fonte
2
É has("patch-7.4-399")ou has("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 )
akavel
2
@akavel Ambos trabalham. Você poderia até usar patch-7-4-399;-)
Martin Tournoij
ahh, awsum, então :) #
akavel 24/03
3
O patch-7.4.399formato está disponível apenas depois 7.4.237. Veja :h has-patch.
blueyed
1
↑ @blueyed está se referindo a todo o has('patch-7.4-399')recurso de verificar as versões major.minor e patch em um único golpe (sem o recurso a v:version): independente de usar -traços ou .pontos.
Aaron Thoma