![定制 vim-latex 在编译之前写入文件](https://linux22.com/image/319606/%E5%AE%9A%E5%88%B6%20vim-latex%20%E5%9C%A8%E7%BC%96%E8%AF%91%E4%B9%8B%E5%89%8D%E5%86%99%E5%85%A5%E6%96%87%E4%BB%B6.png)
<leader>ll
编译当前文件,但我希望它在执行此操作之前也写入当前文件。就我个人而言,我不明白为什么这不是默认行为。什么时候人们会希望进行一些更改,然后在下一次编译中不包含它们?
我尝试将其添加exec 'w'.mainfname
到 vim-latex 的主编译函数中Tex_CompileLatex()
,该函数在中定义compiler.vim
,但这不起作用。
答案1
虽然不是专家,但这是我自己找到的解决方案:编写一个函数(例如.vim/ftplugin/tex_latexSuite.vim
)并用其他键调用它。
function! SaveAndCompile()
write
call Tex_CompileLatex() "defined in latex-suite/compiler.vim
endfunction
nnoremap <Leader>f :call SaveAndCompile()
当然你也可以换成<Leader>f
别的。
答案2
这并不是您想要的,但您可以使用普通的 vim 命令行历史记录来快速编写和编译文件,vim
使用类似于以下命令:
:w| ! xelatex %
一旦这是命令行历史记录中以 开头的最后一个命令,:w
您就可以仅通过四个击键来编写和编译文件:(假设您处于正常模式):
- :
- 瓦
- [向上箭头]
- 进入。