У вас, здається, просто є незапакована версія 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()
повинно бути достатньо :-)
has("patch-7.4-399")
чиhas("patch-7.4.399")
? (останній був запропонований мені деяким доповненням коду, а також, здається, те, що насправді описано за посиланням, яке ви надали )