web-dev-qa-db-ja.com

RマークダウンでEmacs ESSモードを使用するにはどうすればよいですか?

.Rnw(Sweave)または.org(org-mode)でコードチャンクを認識する方法と同様に、Rマークダウン(.Rmd)ファイル内のRコードチャンクを認識(および実行を許可)するようにEmacsを構成する方法はありますか?ファイル?

47
David LeBauer

polymode が開発されています。これにより、Rチャンクを使用したマークダウンを作成できます(knitrでの処理用)。

Polymode + rmarkdownの設定手順は [〜#〜] readme [〜#〜] にあります

まだ終わっていませんが、進んでいます。 ess-helpメーリングリストに関するこのディスカッションも参照してください( gmane archive | mailing list archive


更新:MELPAでポリモードがリリースされ、emacsの既存のパッケージメカニズムを使用してインストールプロセスが簡略化されました。 こちらのESSメーリングリストでのお知らせ を参照してください。

31
Brian Diggs

github.com/vitoshka/polymode からpolymodeのZipをダウンロードするか、「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-Xrmd-modeとEmacsの美しさをご覧ください。

MELPAユーザー向けの更新

MELPAの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))
20
antonio

他の回答はかなり古く、polymode.Rmdファイルを操作するための専用パッケージを提供するようになりました。単にpoly-Rパッケージを使用してください MELPAから これには Githubのソース があります。

以下は、init.elまたはuse-packageを使用するすべての場所に追加できます。

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

デフォルトのキーマップの変更を含むより詳細なユースケースについては、 この設定 を参照してください。 ドキュメントの説明 デフォルトのキーマップ。

1
HaoZeke