Come faccio a sapere la versione patch del mio vim?


17

Ho installato vim 7.4, ma non sono sicuro di quale livello di patch si trovasse quando l'ho installato. Come posso controllare?

vim --version

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

Ma non fornisce il livello di patch o un numero di versione minore.

Risposte:


25

Sembra che tu abbia semplicemente una versione senza patch di vim, altrimenti il :versioncomando o il --versionparametro elencherebbe le patch sulla seconda riga. Ad esempio sulla mia macchina dice:

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

Questo è "patchlevel" 430, ma salta le patch 208 e 356.

Vim non ha un "numero di versione minore" oltre major.minor ; anche se credo che alcune distribuzioni possano usare il "patchlevel" come tale.


Come mostrato sopra, non tutte le patch possono essere incluse, quindi se si desidera utilizzare questo valore non è possibile verificare se un numero è superiore a una determinata versione.

Di solito, il modo migliore è usare has("patch-7.4-399"); questo tornerà vero se:

  • Stiamo eseguendo Vim 7.4 con la patch 399 inclusa.
  • Stiamo eseguendo Vim 7.5 o versioni successive.

È inoltre possibile utilizzare il modulo di has('patch399'), che in genere viene utilizzato come:

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

Ma attenzione; questo sarà falso per Vim 7.5; usalo solo in casi molto specifici.

Vedi :help feature-listper qualche informazione in più.


Non riesco a trovare un modo per elencare tutte le patch incluse, a parte il reindirizzamento :versione l'analisi che ... Non sono anche sicuro di come questo sarebbe utile comunque, come has()dovrebbe essere sufficiente :-)


2
È has("patch-7.4-399")o has("patch-7.4.399")? (quest'ultimo mi è stato suggerito da un po 'di completamento del codice e sembra anche essere ciò che è effettivamente descritto al link che hai fornito )
Akavel

2
@akavel Entrambi funzionano. Potresti persino usare patch-7-4-399;-)
Martin Tournoij il

ah, awsum, allora :)
Akavel

3
Il patch-7.4.399formato è disponibile solo dopo 7.4.237. Vedere :h has-patch.
blueyed

1
↑ @blueyed si riferisce all'intera has('patch-7.4-399')funzione di controllo sia della versione major.minor che della patch in un colpo solo (senza ricorrere a v:version): indipendentemente dal fatto che si utilizzino -trattini o .punti.
Aaron Thoma,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.