定制 vim-latex 在编译之前写入文件

定制 vim-latex 在编译之前写入文件

<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您就可以仅通过四个击键来编写和编译文件:(假设您处于正常模式):

  1. [向上箭头]
  2. 进入。

相关内容