如何使用 neovim 从 Rmarkdown 自动生成 pdf?
How can I use neovim to automate generating pdfs from Rmarkdown?
在neo中写Rmarkdown的时候一直想做一种实时预览的效果vim。我查看了各种声称可以帮助解决此问题的插件,但我无法使它们中的任何一个正常工作(即使在正确安装它们之后也是如此。我不确定它是 vim 还是 neovim 东西)。
我最接近的是在开始编辑我的 rmd 文档之前从终端使用 entr,但要做到这一点我必须手动输入命令:
echo [file] | entr echo "require(rmarkdown); render('[file]')" | R --vanilla
每次我打开我的电脑和我决定在那天处理的每一个文件。
我曾尝试在我的 init.vim 中创建各种自动命令,但那些要么根本不起作用,要么不像我想要的那样工作(即 vim 每次都挂起它运行自动命令,即使 运行 静默),或产生错误。
我在编写 autocmds 时是不是做错了什么,或者是否有总体上更好的方法让我可以使用实时预览?
在 Vim 中处理 markdown 文件时,我通常做的是创建一个临时自动命令,使用 pandoc 重新编译我的 pdf,然后发送一个 SIGHUP
到 mupdf 重新加载文件。
在你的 markdown 文件中,运行 这个:
:au! BufWritePost <buffer> silent !pandoc % -o your.pdf && pkill -HUP mupdf
这假设 mupdf 已经 运行 在后台显示 your.pdf。
如果你想要它更永久,你可以将 autocmd 添加到你的 .vimrc,但你必须确保只为 Rmarkdown 文件设置它。那么你唯一需要做的就是打开一次mupdf。
在neo中写Rmarkdown的时候一直想做一种实时预览的效果vim。我查看了各种声称可以帮助解决此问题的插件,但我无法使它们中的任何一个正常工作(即使在正确安装它们之后也是如此。我不确定它是 vim 还是 neovim 东西)。
我最接近的是在开始编辑我的 rmd 文档之前从终端使用 entr,但要做到这一点我必须手动输入命令:
echo [file] | entr echo "require(rmarkdown); render('[file]')" | R --vanilla
每次我打开我的电脑和我决定在那天处理的每一个文件。
我曾尝试在我的 init.vim 中创建各种自动命令,但那些要么根本不起作用,要么不像我想要的那样工作(即 vim 每次都挂起它运行自动命令,即使 运行 静默),或产生错误。
我在编写 autocmds 时是不是做错了什么,或者是否有总体上更好的方法让我可以使用实时预览?
在 Vim 中处理 markdown 文件时,我通常做的是创建一个临时自动命令,使用 pandoc 重新编译我的 pdf,然后发送一个 SIGHUP
到 mupdf 重新加载文件。
在你的 markdown 文件中,运行 这个:
:au! BufWritePost <buffer> silent !pandoc % -o your.pdf && pkill -HUP mupdf
这假设 mupdf 已经 运行 在后台显示 your.pdf。
如果你想要它更永久,你可以将 autocmd 添加到你的 .vimrc,但你必须确保只为 Rmarkdown 文件设置它。那么你唯一需要做的就是打开一次mupdf。