1

Мы с партнером поддерживаем Vimified, проект конфигурации Vim, используя Vundle.

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

У нас есть управление пакетами (подробнее), которое позволяет вам устанавливать только тот пакет, который играет важную роль.

Как и в моей компании, много полиглотов. И мы начали задаваться вопросом, что может быть лучшим способом сделать Vim быстрее, даже если мне нужно поддерживать много языков, так как я знаю много языков.

Итак, мы начали говорить: что, если мы сможем загружать плагины на лету в соответствии с расширением файла?

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

Будет ли у кого-нибудь идея? Или это вообще реально возможно?

1 ответ1

4

Языковые плагины должны находиться в подкаталоге ftplugin/ и определять их функциональность только для текущего буфера. Таким образом, они загружаются только при редактировании этого типа файла , и ваш запуск Vim остается быстрым и быстрым.

Плагины общего назначения (т.е. вещи, которые применяются ко всем видам буферов) устанавливаются пользователем; с менеджером плагинов, таким как Vundle, это сводится к одной строке в вашем ~/.vimrc и одной команде; Я не думаю, что это может стать легче, чем это.

С механизмом автозагрузки , представленным в Vim 7, плагинам нужно только определять свои autocmds, сопоставления и команды в plugin/<name>.vim , тогда длинная фактическая реализация затем вызывается по требованию при первом использовании. Это ваш лучший союзник в снижении затрат на запуск Vim.

Вместо того, чтобы придумывать другую сложную схему управления пакетами (которая неизменно путает пользователей с ее новыми соглашениями; см. Множество вопросов о дистрибутивах, таких как spf-13 и Janus), последовательное использование существующих схем должно позволить запускать Vim и не создавать проблем. и это пойдет на пользу всем пользователям плагинов, а не только тем, кто переходит на вашу схему.

"Распределения" Vim заманивают вас быстрой установкой и настройками "из коробки", но вы платите цену за повышенную сложность (вам нужно понимать как схему загрузки Vim во время выполнения, так и произвольные соглашения распространения) и гибкость (распределение может сделать некоторые вещи проще, а другие очень сложно). Vim невероятно настраиваемый, использование чужой настройки не имеет смысла.

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