有没有办法配置Emacs,以便它识别(并允许执行)R markdown(.Rmd)文件中的R代码块,类似于它识别.Rnw(Sweave)或.org(org)中的代码块的方式-mode)文件?
答案 0 :(得分:31)
polymode,它允许您使用R块写入markdown(用knitr
进行处理)。
设置polyode + rmarkdown的说明在README
中尚未完成,但正在取得进展。另请参阅ess-help邮件列表(gmane archive | mailing list archive)
上的讨论更新:已在MELPA上发布了polymode,通过使用emacs的现有包机制简化了安装过程。请参阅announcement on the ESS mailing list here。
答案 1 :(得分:20)
从github.com/vitoshka/polymode下载polymode
的邮政编码,如果您是" git guy",则可以使用:
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文件并输入 Meta - X rmd-mode
并观看Emacs的美丽。
polymode
使用 flat 文件结构。当您通过M-x 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))
答案 2 :(得分:5)
其他答案已经过时了,polymode
现在提供了用于处理.Rmd
文件的专用程序包。只需使用from MELPA的poly-R
软件包source here on Github.
以下内容可能会添加到您的init.el
或您使用use-package
的任何位置:
(use-package poly-R
:ensure t
:pin melpa-stable)
有关涉及修改默认键映射的更详细的用例,请参见this configuration。 documentation describes是默认键盘映射。