【问题标题】:Vim - LaTeX. How to conditionally open the PDF viewer?Vim - 乳胶。如何有条件地打开 PDF 查看器?
【发布时间】:2020-02-01 20:09:25
【问题描述】:

我目前正在尝试编写自己的设置,以便使用 Vim 和 Zathura 自动编译和预览 LaTeX 代码。这是我目前在tex.vim 文件中的代码:

:map <F6> :w <bar> ! pdflatex -synctex=1 -interaction=nonstopmode %<CR><CR>
:map <F7> :! zathura $(echo % \| sed 's/tex$/pdf/') & disown<CR><CR>

只要当我编译代码(来自 Vim)时,我在我的 tex 文件所在的目录中,它就可以正常工作。但是,无论我的职位如何,我都希望它能够正常工作(因为我经常使用 :e 命令从 Vim 打开文件)。我该如何解决这个问题?

另外,我希望 Zathura 仅在 PDF 预览尚未打开时打开。有没有人对如何做这样的事情有任何建议?

【问题讨论】:

    标签: vim


    【解决方案1】:

    您可以使用:h filename-modifiers 而不是sed hack,所以应该这样做:

    nnoremap :<C-u>w <bar> ! pdflatex -synctex=1 -interaction=nonstopmode %:p<CR>
    nnoremap :<C-u>! zathura %:p:r.pdf<CR>
    

    我还更改了这些映射以使用:nnoremap,无论如何您都应该喜欢它。


    如果你想进一步扩展你的 Vim-fu,你可以检查 :h compiler:h compilet-tex,它们会为你设置正确的 'makeprg',这将允许你使用 :make 来构建你的 TeX 文件。

    【讨论】:

    • 我不得不放弃 zathura,因为我希望能够同时编辑我的 .tex 文件并查看 pdf,但除此之外,它还有效。
    【解决方案2】:

    另一种方法是简单地使用 vimtex (https://github.com/lervag/vimtex)

    映射:lv

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-01-22
      • 1970-01-01
      • 2010-12-03
      • 2014-06-20
      • 2022-06-11
      • 2011-02-01
      • 1970-01-01
      相关资源
      最近更新 更多