繁体   English   中英

如何在 R markdown 中使用 Emacs ESS 模式?

[英]How can I use Emacs ESS mode with R markdown?

有没有办法配置 Emacs,以便它识别(并允许执行)R 降价 (.Rmd) 文件中的 R 代码块,类似于识别 .Rnw(Sweave)或 .org(组织模式)中的代码块的方式文件?

polymode正在开发中,它确实/将允许您使用 R 块编写降价(用于处理knitr )。

设置 polymode+rmarkdown 的说明在README 中

它尚未完成,但正在进展中。 另请参阅 ess-help 邮件列表( gmane archive | mailing list archive )上的此讨论


更新:polymode 已在 MELPA 上发布,通过使用 emacs 现有的包机制简化了安装过程。 在此处查看ESS 邮件列表上公告

下载的邮政编码为polymodegithub.com/vitoshka/polymode或者,如果你是一个“混帐家伙”,你可以使用:

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 的美妙之处。

MELPA 用户更新

polymode从MELPA使用平面文件结构。 当您通过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))

其他答案已经过时了, polymode现在提供了一个专门的包来处理.Rmd文件。 只需使用来自 MELPApoly-R它的源代码在 Github 上。

以下内容可以添加到您的init.el或您使用use-package的任何地方:

(use-package poly-R
  :ensure t
  :pin melpa-stable)

有关涉及修改默认键盘映射的更详细用例,请参阅此配置 文档描述了默认的键盘映射。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM