Comment connaître la version du correctif de mon vim?

17

J'ai installé vim 7.4, mais je ne sais pas à quel niveau de correctif il se trouvait lorsque je l'ai installé. Comment vérifier?

vim --version

Donne

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

Mais il ne donne pas le niveau du patch ou un numéro de version mineur.

Christopher Bottoms
la source

Réponses:

25

Vous semblez simplement avoir une version non corrigée de vim, sinon la :versioncommande ou le --versionparamètre listerait les correctifs sur la deuxième ligne. Par exemple sur ma machine, il est écrit:

VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Sep 10 2014 09:36:33)
Included patches: 1-207, 209-355, 357-430

Il s'agit du "patchlevel" 430, mais il saute les patchs 208 et 356.

Vim n'a pas de "numéro de version mineur" au-delà de major.minor ; bien que je pense que certaines distributions peuvent utiliser le "patchlevel" en tant que tel.


Comme indiqué ci-dessus, tous les correctifs peuvent ne pas être inclus, donc si vous souhaitez utiliser cette valeur, vous ne pouvez pas simplement vérifier si un nombre est supérieur à une certaine version.

Habituellement, la meilleure façon est d'utiliser has("patch-7.4-399"); cela retournera vrai si:

  • Nous utilisons Vim 7.4 avec le patch 399 inclus.
  • Nous utilisons Vim 7.5 ou une version ultérieure.

Vous pouvez également utiliser la forme de has('patch399'), qui est généralement utilisée comme:

if v:version == 704 && has('patch399')

Mais soyez conscient; ce sera faux pour Vim 7.5; utilisez-le uniquement dans des cas très spécifiques.

Voir :help feature-listpour plus d'informations.


Je ne peux pas trouver un moyen de lister tous les correctifs inclus, à part la redirection :versionet l'analyse ... Je ne sais pas non plus comment cela serait utile de toute façon, comme cela has()devrait suffire :-)

Martin Tournoij
la source
2
C'est has("patch-7.4-399")ou has("patch-7.4.399")? (ce dernier m'a été suggéré par une complétion de code, et semble également être ce qui est réellement décrit sur le lien que vous avez fourni )
akavel
2
@akavel Ils travaillent tous les deux. Vous pourriez même utiliser patch-7-4-399;-)
Martin Tournoij
ahh, awsum, alors :)
akavel
3
Le patch-7.4.399format n'est disponible qu'après 7.4.237. Tu vois :h has-patch.
blueyed
1
↑ @blueyed fait référence à toute la has('patch-7.4-399')fonctionnalité de vérification à la fois du major.minor et des versions de patch en un seul coup (sans recourir à v:version): indépendamment de l'utilisation de -tirets ou de .points.
Aaron Thoma