如何使用neovim从Rmarkdown自动生成pdf?

时间:2019-03-28 16:45:06

标签: vim automation r-markdown neovim

我一直想在neovim中编写Rmarkdown时创建一种实时预览效果。我看过各种声称可以解决此问题的插件,但我无法使其中任何一个正常工作(即使在正确安装它们之后也是如此。我不确定这是vim还是neovim的问题)。

我最接近的是在开始编辑rmd文档之前从终端使用entr,但是要执行此操作,我必须手动输入命令:

  

echo [文件] | entr echo“ require(rmarkdown); render('[file]')” | R-香草

每次打开计算机时,我决定在那天处理每个文件。

我试图在init.vim中创建各种autocmd,但是它们要么根本不起作用,要么不按我想要的方式工作(即vim每次运行autocommand时都会挂起,即使在运行时也是如此)静默),或产生错误。

编写autocmds时我做错什么了吗?或者总体上有更好的方法可以使实时预览正常工作吗?

1 个答案:

答案 0 :(得分:0)

在Vim中使用markdown文件时,我通常要做的是创建一个临时autocmd,以使用 pandoc 重新编译我的pdf,然后向{strong> mupdf 发送一个SIGHUP重新加载文件。

在markdown文件中,运行以下命令:

:au! BufWritePost <buffer> silent !pandoc % -o your.pdf && pkill -HUP mupdf

这假定mupdf已经在显示your.pdf的后台运行。

如果您要更永久地使用它,可以将autocmd添加到.vimrc中,尽管您必须确保只为Rmarkdown文件设置它。然后,只需要做一次,就是打开mupdf。