如何在R markdown中使用Emacs ESS模式?
有没有一种方法可以configurationEmacs,以便识别(并允许执行)R markdown(.Rmd)文件中的R代码块,类似于识别.Rnw(Sweave)或.org(org-mode)代码块的方式。文件?
polymode正在开发中,它允许你用R块(用knitr
加工)编写降价。
README中有关于设置polymode + rmarkdown的说明
它尚未完成,但正在进步。 另请参阅关于ess-help邮件列表的讨论( gmane archive | 邮件列表存档 )
更新:MELPA上已经发布了polymode,通过使用emacs现有的包装机制来简化安装过程。 在这里查看ESS邮件列表上的公告 。
从github.com/vitoshka/polymode下载polymode的zip 文件 ,如果你是“git人”,你可以使用:
git clone https://github.com/vitoshka/polymode.git
将此函数添加到Emacs init文件中:
(defun rmd-mode () "ESS Markdown mode for rmd files" (interactive) (setq load-path (append (list "path/to/polymode/" "path/to/polymode/modes/") load-path)) (require 'poly-R) (require 'poly-markdown) (poly-markdown+r-mode))
现在,如果您已经安装了ESS,只需打开您的rmd文件并inputMeta – X rmd-mode
并观看Emacs的美丽。
更新MELPA用户
MELPA的polymode使用平面文件结构。 当您通过Mx list-packages
或类似工具从Emacs存储库进行安装时,您可以将包文件直接放在应该放置的地方,即: (expand-file-name "~/.emacs.d/elpa")
,上面的load-path
代码:
;; (setq load-path ;; (append (list "path/to/polymode/" "path/to/polymode/modes/") ;; load-path))