Vim-latex套件後台編譯

Vim-latex套件後台編譯

我似乎在文檔中找不到這個選項。有沒有辦法在編譯過程中不凍結vim?我想說的是輸入“\ll”並讓 vim-latex 在後台運行編譯,如果出現錯誤,則啟動快速修復。

那可能嗎?簡單的?

答案1

眾所周知,Vim 不擅長異步,但存在諸如非同步命令允許您在背景執行命令,並在命令完成後以拆分方式查看輸出。 AsyncCommand 隨附一個 AsyncMake 指令,可用於make非同步操作。因此,在我的 vimrc 中我使用:

noremap <leader>mm :AsyncMake<cr>

映射<leader>mm到異步 make,以及

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

make當我打開 tex 檔案時將程式設定為 Latexmk 。

答案2

AsyncCommand 需要使用 clientserver 來編譯 vim,這可能需要也可能不需要新的編譯,對於我們這些執行 Cygwin 的人來說肯定需要(安裝 Cygwin/X 之後)。

對我來說立即有效的替代方案是派遣插件,提供Start!命令。我的 vimrc 中有以下內容:

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

這使我可以跳過在編譯前手動寫入文件,並在編譯後進行清理(命令latexmk -c)。一個更簡單的變體是

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

相關內容