Compilação de plano de fundo da suíte Vim-latex

Compilação de plano de fundo da suíte Vim-latex

Não consigo encontrar essa opção na documentação. Existe uma maneira de não congelar o vim enquanto a compilação está acontecendo? O que eu gostaria é dizer "\ ll" e fazer com que o vim-latex execute a compilação em segundo plano e, se houver erros, abra o quickfix.

Isso é possível? Fácil?

Responder1

O Vim é conhecido por ser ruim em assincronismo, mas existem plugins comoComando assíncronopermitindo que você execute comandos em segundo plano e veja a saída em uma divisão assim que o comando for concluído. AsyncCommand vem com um comando AsyncMake, que pode ser usado de makeforma assíncrona. Portanto, no meu vimrc eu uso:

noremap <leader>mm :AsyncMake<cr>

mapear <leader>mmpara make assíncrono e

:autocmd BufEnter *.tex let &makeprg="latexmk -e '$pdflatex=q/pdflatex -synctex=1 -interaction=nonstopmode/' -pdf ".expand("<amatch>")

para definir o makeprograma para latexmk quando abro arquivos tex.

Responder2

AsyncCommand requer que o vim seja compilado com clientserver, o que pode ou não exigir uma nova compilação, e definitivamente exigirá para aqueles de nós que executam o Cygwin (após instalar o Cygwin/X).

Uma alternativa que funcionou imediatamente para mim foi oDespachoplugin, que fornece o Start!comando. Eu tenho o seguinte no meu vimrc:

map <leader>lr :w<CR>:Start! latexmk -pdf -pdflatex="pdflatex --shell-escape \%O \%S" % && latexmk -c %<CR>

Isso me permite pular a gravação manual do arquivo antes da compilação e também limpar após a compilação (o latexmk -ccomando). Uma variante mais simples seria

map <leader>lr :Start! latexmk -pdf % <CR>

informação relacionada