Latex-suite vim-latex автоматическая перекомпиляция файла при его изменении

Latex-suite vim-latex автоматическая перекомпиляция файла при его изменении

Я установилvim-latex (он же latex-suite)Плагин ViM и начал его настраивать. Единственное, чего я не могу найти, так это возможность выполнять автоматическую перекомпиляцию каждый раз, когда .texредактируемый мной файл записывается на диск (т. е. каждый раз, когда я использую команду :wViM). Это было бы очень полезно для меня, так как я использую его zathuraдля просмотра pdf, и он поддерживает автоматическое обнаружение изменений и отображает обновленный pdf-файл.

Кто-нибудь знает, как добиться такого эффекта с помощью этого плагина?

Заранее спасибо.

решение1

Стандартная привязка, используемая vim-latexsuite, \llделает call Tex_RunLaTeX(). Если вы хотите, чтобы VIM делал что-то каждый раз после записи файла, вы можете использовать autocmd BufWritePost, затем вы можете указать filepattern, который должен соответствовать записанному файлу, чтобы ограничить область действия этого autocmd, например, *.texа затем вызывать функции VIM. Таким образом, вы можете поместить следующее в свой .vimrc:

autocmd BufWritePost *.tex call Tex_RunLaTeX()

Если вы не хотите, чтобы это произошлокаждыйПри сохранении файла может быть хорошей идеей создать пользовательскую привязку, которая сохраняет файл (при необходимости), а затем вызывает функцию, запускающую LaTeX, например, можно использовать:

nmap <leader>m :up<cr>:call Tex_RunLaTeX()<cr>

Это создаст сопоставление в обычном режиме, которое обновляет файл (то есть записывает, если были изменения), а после обновления вызывает Tex_RunLaTeX(). С вашей текущей конфигурацией это сопоставление будет включено \m( <leader>— это настраиваемый ключ, который используется для многих привязок, по умолчанию это обратная косая черта, вы можете изменить <leader>с помощью let mapleader="<whatever>", что также повлияет на привязки vim-latexsuite).

Связанный контент