簡體   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