2

Vim имеет понятие функций, то есть подмножеств функций, которые могут или не могут поддерживаться в реальной установке, на основе флагов времени компиляции. Наличие функции можно проверить с помощью функции has() , а все возможные функции можно перечислить с помощью команды feature-list .

Я хочу, чтобы мой скрипт vim был более надежным, проверяя функции перед их использованием. Моя проблема в том, что не задокументировано явно, какая команда зависит от какой функции.

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

1 ответ1

2

Сосредоточиться на плагине Vim для vim-tiny сложно, так как он состоит из очень ограниченного набора функций. Он предназначен для простой замены vi, поддерживая всего несколько отображений, и ничего более.

Тем не менее, действительно возможно обнаруживать и утверждать определенные возможности, используя has() и exists() . Ошибки on :let можно предотвратить, включив :if 1 , но, как я уже сказал, лучше стремиться к "нормальному" -функционализированному Vim и просто добавить проверки на наличие более новых вещей (таких как conceal , persistent undo, введенных в Vim). 7.3) и важные исправления ошибок (но только если они вам нужны).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .