
eu instaleivim-latex (também conhecido como suíte de látex)Plugin ViM e comecei a personalizá-lo. Uma coisa que não consigo encontrar é a capacidade de realizar uma recompilação automática toda vez que o .tex
arquivo que estou editando é gravado no disco (ou seja, toda vez que uso o comando :w
do ViM). Seria muito útil para mim, pois uso zathura
para visualizar o pdf e suporta detecção automática de alterações e exibe o arquivo pdf atualizado.
Alguém sabe como conseguir esse efeito com esse plugin?
Desde já, obrigado.
Responder1
A ligação padrão usada pelo vim-latexsuite \ll
faz call Tex_RunLaTeX()
. Se você quiser que o VIM faça algo toda vez que um arquivo for gravado, você pode usar o autocmd BufWritePost
, você pode então fornecer um padrão de arquivo que deve ser correspondido pelo arquivo gravado para limitar o escopo disso autocmd
, por exemplo, *.tex
e então chamar funções do VIM . Então você poderia colocar o seguinte no seu .vimrc
:
autocmd BufWritePost *.tex call Tex_RunLaTeX()
Se você não quer que isso aconteçatodoAo salvar um arquivo, pode ser uma boa ideia criar uma ligação personalizada que salve seu arquivo (se necessário) e depois chame a função que executa o LaTeX, por exemplo, você poderia usar:
nmap <leader>m :up<cr>:call Tex_RunLaTeX()<cr>
Isso criaria um mapeamento em modo normal que atualiza o arquivo (então escreve se houve alterações) e depois de atualizar chama Tex_RunLaTeX()
. Com sua configuração atual, esse mapeamento estaria ativado \m
( <leader>
é uma chave configurável, usada para muitas ligações, o padrão é uma barra invertida, você pode alterar <leader>
usando let mapleader="<whatever>"
, o que também afetaria as ligações do vim-latexsuite).