Как я могу заставить VIM вести себя по-разному для разных типов файлов? - PullRequest
4 голосов
/ 06 сентября 2010

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

Любые идеи о том, как это сделать, из моего .vimrc или плагина?

Спасибо!

Ответы [ 2 ]

14 голосов
/ 06 сентября 2010

Есть два основных способа. Используйте плагин filetype, или используйте автокоманды filetype или extension.

Автокоманды (помещенные в ваш .vimrc / _vimrc) имеют вид

autocmd Filetype cpp set textwidth=100

или

autocmd BufRead *.cpp,*.h,*.c set textwidth=100

(очевидно, set textwidth=100 можно заменить любой другой командой)

Лучшим решением, особенно если у вас есть много пользовательских команд для типа файла, является использование файлов ~/.vim/after/ftplugin/<filetype>.vim для каждого типа файла. Команды в этих файлах будут выполняться после загрузки файла данного типа.

1 голос
/ 06 сентября 2010

В дополнение к ответу jkerian , здесь есть несколько ссылок на другие вопросы, связанные с ftplugins (такие как локальные переменные скрипта, отображения, команды, настройки, сокращения и т. Д. Должны использоваться при написании конкретной конфигурации ft):

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...