Похоже, у вас просто есть непропатченная версия 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
Это "уровень исправления" 430, но он пропускает исправления 208 и 356.
У Vim нет «младшего номера версии», кроме major.minor ; хотя я считаю, что некоторые дистрибутивы могут использовать «уровень исправления» как таковой.
Как показано выше, не все исправления могут быть включены, поэтому, если вы хотите использовать это значение, вы не можете просто проверить, является ли число выше определенной версии.
Обычно лучшим способом является использование 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")
? (последнее было предложено мне при некотором завершении кода, и, похоже, это то, что на самом деле описано по предоставленной вами ссылке )patch-7-4-399
;-)patch-7.4.399
Формат доступен только после того, как7.4.237
. См:h has-patch
.has('patch-7.4-399')
функции проверки версий major.minor и патча одним махом (без обращения кv:version
): независимо от того, используете ли вы-
тире или.
точки.