从Rmd文档一次执行所有R块

时间:2016-11-30 17:08:18

标签: r emacs r-markdown ess

最小Rmarkdown文档具有YAML标头,markdown语法和R代码块。 要编辑这样的多语言文件,我使用的是Emacs编辑器,并且打开Rmd文档的缓冲区位于polymode

典型的文档有多个R块。当我在Rmd文档的中间编写/调试R块时,我在ESS模式下有第二个缓冲区,其中R在里面运行,我经常需要通过从Rmd发送R命令来重新执行所有以前的块文件(第一个缓冲区)进入R控制台(第二个缓冲区)。

是否有一个命令允许执行所有块的所有命令?

another question开始,似乎org-mode可以做到这一点。但是我可以在我的环境中做到这一点吗?

2 个答案:

答案 0 :(得分:4)

如果您的Rmarkdown中只有R源代码,并且希望能够轻松地以交互方式对其进行评估,那么来自spin的{​​{1}}可能会更容易(see here)。

我更喜欢(旋转)解决方案,因为所有markdown / Rmarkdown mumbo-jumbo都包含在普通R注释中,因此缓冲区可以像常规源代码一样对待。但是,以下内容应评估多态缓冲区中的所有R代码块(未经过彻底测试)。

knitr

答案 1 :(得分:1)

如果使用Poly-Markdown+R,则评估Rmarkdown文档中所有R个代码片段的命令为M-n v b

Reference