¿Cómo sé la versión del parche de mi vim?

17

Tengo instalado vim 7.4, pero no estoy seguro de en qué nivel de parche estaba cuando lo instalé. ¿Cómo lo reviso?

vim --version

Da

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

Pero no da el nivel de parche o un número de versión menor.

Christopher Bottoms
fuente

Respuestas:

25

Parece que simplemente tiene una versión sin parches de vim, de lo contrario, el :versioncomando o el --versionparámetro enumerarían los parches en la segunda línea. Por ejemplo en mi máquina dice:

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

Esto es "patchlevel" 430, pero omite los parches 208 y 356.

Vim no tiene un "número de versión menor" más allá de major.minor ; aunque creo que algunas distribuciones pueden usar el "patchlevel" como tal.


Como se muestra arriba, es posible que no se incluyan todos los parches, por lo que si desea utilizar este valor, no puede simplemente verificar si un número es superior a una versión determinada.

Por lo general, la mejor manera es usar has("patch-7.4-399"); esto volverá verdadero si:

  • Estamos ejecutando Vim 7.4 con el parche 399 incluido.
  • Estamos ejecutando Vim 7.5 o posterior.

También puede usar la forma de has('patch399'), que generalmente se usa como:

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

Pero ten cuidado; esto será falso para Vim 7.5; use esto solo en casos muy específicos.

Consulte :help feature-listpara obtener más información.


No puedo encontrar una manera de enumerar todos los parches incluidos, aparte de redirigir :versiony analizar eso ... Tampoco estoy seguro de cómo esto sería útil de todos modos, como has()debería ser suficiente :-)

Martin Tournoij
fuente
2
Es has("patch-7.4-399")o has("patch-7.4.399")? (esto último me lo sugirió un código completo, y también parece ser lo que realmente se describe en el enlace que proporcionó )
akavel
2
@akavel Ambos trabajan. Incluso podrías usar patch-7-4-399;-)
Martin Tournoij
ahh, awsum, entonces :)
akavel
3
El patch-7.4.399formato solo está disponible después 7.4.237. Ver :h has-patch.
azulado
1
↑ @blueyed se refiere a la has('patch-7.4-399')característica completa de verificar las versiones major.minor y patch en un solo golpe (sin recurrir a v:version): independientemente de si se usan -guiones o .puntos.
Aaron Thoma