автоматическое выполнение команды перед сохранением файла

Подскажите как настроить автоматическое применение команды ClangFormat в редакторе VIM. Проблема в том, что на :ClangFormat у меня стоит форматирование кода и приходится постоянно прописывать сначала :ClangFormat, а потом :wq. Можно ли задать в параметре сохранения и выхода (:wq) еще и параметр форматирования?


Ответы (1 шт):

Автор решения: Roman Konoval

Чтобы выполнить команду автоматически по событию нужно воспользоваться автокомандами. В данном случае:

autocmd BufWritePre * :ClangFormat<CR>

Тут:

  • BufWritePre событие непосредственно перед сохранением файла командой :w
  • * - шаблон имени файла. Можно задать *.cpp или несколько типов через запятую *.cpp,*.h.

Эту команду можно либо выполнить вручную, тогда действие будет только в рамках текущей сессии (до закрытия vim). Чтобы она действовала всегда, нужно добавить команду в vimrc файл.

Его местоположение зависит от инсталяции (для юникс это $HOME/.vimrc или $HOME/.vim/vimrc). Самый простой способ его отредактировать, это выполнить команду:

:edit $MYVIMRC
→ Ссылка