Vim имеет понятие функций, то есть подмножеств функций, которые могут или не могут поддерживаться в реальной установке, на основе флагов времени компиляции. Наличие функции можно проверить с помощью функции has()
, а все возможные функции можно перечислить с помощью команды feature-list
.
Я хочу, чтобы мой скрипт vim был более надежным, проверяя функции перед их использованием. Моя проблема в том, что не задокументировано явно, какая команда зависит от какой функции.
Конкретный пример: некоторые дистрибутивы Linux поставляют vim.tiny
по умолчанию, которая является сильно ограниченной функциональностью версии vim
. Если я запускаю vim.tiny
, мой .vimrc
выдает много сообщений об ошибках. Например, команда let
недоступна, но неясно, какая функция предоставляет эту команду. Как я мог достоверно определить это? Или, если это невозможно, как сделать так, чтобы мой запуск vim грациозно ухудшился для vim.tiny
?