Як дізнатись версію патча для свого vim?


17

У мене встановлений vim 7.4, але я не впевнений, на якому рівні патчу він був, коли я його встановив. Як перевірити?

vim --version

Дає

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

Але це не дає рівня виправлення або незначного номера версії.

Відповіді:


25

У вас, здається, просто є незапакована версія vim, інакше :versionкоманда або --versionпараметр перелічать патчі у другому рядку. Наприклад, на моїй машині написано:

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

Це "patchlevel" 430, але він пропускає патчі 208 та 356.

Vim не має "другорядного номеру версії" поза межі major.minor ; хоча я вважаю, що деякі дистрибутиви можуть використовувати "patchlevel" як такий.


Як показано вище, не всі патчі можуть бути включені, тому, якщо ви хочете використовувати це значення, ви не можете просто перевірити, чи число вище певної версії.

Зазвичай найкращим способом є використання has("patch-7.4-399"); це повернеться правдою, якщо:

  • У нас працює Vim 7.4 з включеним патчем 399.
  • Ми працюємо з Vim 7.5 або новішою версією.

Ви також можете використовувати форму has('patch399'), яка зазвичай використовується на зразок:

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

Але будьте в курсі; це буде хибним для Vim 7.5; використовувати це лише у дуже конкретних випадках.

Див. Для :help feature-listотримання додаткової інформації.


Я не можу знайти спосіб перерахувати всі включені патчі, крім перенаправлення :versionта розбору, що ... Я також не впевнений, як це було б корисно в будь-якому випадку, як це has()повинно бути достатньо :-)


2
Це has("patch-7.4-399")чи has("patch-7.4.399")? (останній був запропонований мені деяким доповненням коду, а також, здається, те, що насправді описано за посиланням, яке ви надали )
akavel

2
@akavel Вони обоє працюють. Можна навіть скористатися patch-7-4-399;-)
Мартін Турнойж,

ах, awsum, тоді :)
akavel

3
patch-7.4.399Формат доступний тільки після того, як 7.4.237. Див :h has-patch.
синюваті

1
↑ @blueyed посилається на всю has('patch-7.4-399')особливість перевірки як основних.minor, так і версій патчів одним махом (без вдавання v:version): незалежно від використання -тире або .крапки.
Аарон Тома
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.