【发布时间】:2013-04-16 20:16:07
【问题描述】:
有没有一种方法可以配置 Emacs,使其识别(并允许执行)R markdown (.Rmd) 文件中的 R 代码块,类似于它识别 .Rnw (Sweave) 或 .org (org -mode) 文件?
【问题讨论】:
标签: r emacs ess r-markdown
有没有一种方法可以配置 Emacs,使其识别(并允许执行)R markdown (.Rmd) 文件中的 R 代码块,类似于它识别 .Rnw (Sweave) 或 .org (org -mode) 文件?
【问题讨论】:
标签: r emacs ess r-markdown
polymode 正在开发中,它确实/将允许您使用 R 块编写降价(用于使用 knitr 进行处理)。
polymode+rmarkdown的设置说明在README
它还没有完成,但正在进行中。另请参阅 ess-help 邮件列表上的讨论 (gmane archive|mailing list archive)
更新:polymode 已在 MELPA 上发布,通过使用 emacs 现有的包机制简化了安装过程。请参阅announcement on the ESS mailing list here。
【讨论】:
从github.com/vitoshka/polymode 下载polymode 的压缩包,或者,如果您是“git 人”,您可以使用:
git clone https://github.com/vitoshka/polymode.git
将此函数添加到您的 Emacs 初始化文件中:
(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-Xrmd-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))
【讨论】:
"path/to/" 文件夹中时才有效(请参阅 link)。
polymode 时,它会进入我的 Windows 机器 c:/emacs/.emacs.d/elpa/polymode-20150105.931/ 上的这个路径,但我看不到 modes 文件夹!任何想法?您能否在答案中参考 windows,非常感谢。
M-x R 启动 R 并在块内 C-c C-z 切换到 R 控制台。
其他答案已经过时了,polymode 现在提供了一个专门的包来处理.Rmd 文件。只需使用poly-R 包from MELPA,它有它的source here on Github.
以下内容可以添加到您的init.el 或您使用use-package 的任何地方:
(use-package poly-R
:ensure t
:pin melpa-stable)
有关修改默认键盘映射的更详细用例,请参阅this configuration。 documentation describes 默认键盘映射。
【讨论】:
ess 和 poly-R 软件包,并且(对于我的 Mac)我需要修改我的 emacs exec-path 以使其正常工作