Is there a way to configure Emacs so that it recognizes (and allows execution of) R code chunks within R markdown (.Rmd) files similar to the way it recognizes code chunks in .Rnw (Sweave) or .org (org-mode) files?
polymode is being developed which does/will allow you to write markdown with R chunks (for processing with knitr
).
Instructions for setting up polymode+rmarkdown are in the README
It is not yet done, but is progressing. See also this discussion on the ess-help mailing list (gmane archive|mailing list archive)
Update: polymode has been released on MELPA, simplifying the installation process by using emacs' existing package mechanism. See the announcement on the ESS mailing list here.
Download the zip for polymode
from github.com/vitoshka/polymode or, if you are a "git guy", you might use:
git clone https://github.com/vitoshka/polymode.git
Add this function to your Emacs init file:
(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))
Now, if you already have ESS installed, just open your rmd file and type Meta-Xrmd-mode
and watch the beauty of Emacs.
Update for MELPA users
polymode
from MELPA uses a flat file structure. When you install from an Emacs repository via M-x list-packages
or like facilities, you get your package files straight where they ought to, i.e.: (expand-file-name "~/.emacs.d/elpa")
, therefore do comment the above load-path
code:
;; (setq load-path
;; (append (list "path/to/polymode/" "path/to/polymode/modes/")
;; load-path))
来源:https://stackoverflow.com/questions/16172345/how-can-i-use-emacs-ess-mode-with-r-markdown