Vim запускает все плагины Filetype, которые начинаются с того же имени

Только что узнал, что vim запускает все ftplugins, которые начинаются с того же имени.

Например:

Обнаруженный тип файла = ocr

Эти файлы имеют разные версии. Поэтому у меня разные ftplugins:

ocr => Base (проверяет версию файла и устанавливает правильный тип файла) ocr_01 => версия 01 ... ocr_n => версия n

При открытии ocr-файла тип файла определяется как 'ocr' -> загрузится ocr-Base-ftplugin. Он проверяет, какая версия файла (например, 01) => тип файла будет установлен в ocr_01.

Я ожидаю, что загружается только плагин filetype-ocr_01, но все ftplugins, начинающиеся с 'ocr': ocr_01, ocr_02....

Как это отключить?

1 ответ

Подчеркивание имеет особое значение в именах плагинов файловых типов; это позволяет иметь дополнительные скрипты для типа файла. Увидеть :help ftplugin-name для деталей.

Вы можете просто использовать другой разделитель или удалить его полностью. Однако, пожалуйста, пересмотрите ваш подход, потому что вы пытаетесь сделать нетрадиционно. (До сих пор я не видел этого в дикой природе, и Vim уже поддерживает почти 200 типов файлов из коробки).

Может быть плохой идеей иметь разные типы файлов, потому что обычно (я не знаю о вашем конкретном), даже разные версии формата файлов имеют гораздо больше общего, чем различия. Выбирая filetype имена, пользователи должны будут дублировать свои настройки (и любые связанные настройки синтаксиса) для каждой версии. Вместо этого рассмотрим, что по умолчанию sh filetype делает: он обрабатывает различные оболочки (POSIX, Korn, Bash, ...) с помощью одного скрипта (и синтаксиса) и обеспечивает специфическое поведение через локальные для буфера переменные (например, b:is_bash) и условия на них.

Другие вопросы по тегам