Подтвердить что ты не робот

Как я могу использовать режим Emacs ESS с R-уценкой?

Есть ли способ настроить Emacs так, чтобы он распознавал (и позволяет выполнять) фрагменты кода R в файлах R markdown (.Rmd), похожих на способ распознавания фрагментов кода в .Rnw(Sweave) или .org(org -mode)?

4b9b3361

Ответ 1

polymode, который делает/позволит вам писать уценку с R-фрагментами (для обработки с помощью knitr).

Инструкции по настройке polyode + rmarkdown приведены в README

Это еще не сделано, но прогрессирует. См. Также эту дискуссию о списке рассылки ess-help (gmane archive рассылка архив списка)


Обновление: на MELPA был выпущен полимод, упрощающий процесс установки с использованием существующего механизма пакетов emacs. См. Объявление в списке рассылки ESS здесь.

Ответ 2

Загрузите zip для polymode из github.com/vitoshka/polymode или, если вы являетесь "парнем w20", вы можете использовать:

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 - X rmd-mode и посмотрите красоту Emacs.

Обновление для пользователей MELPA

polymode от MELPA использует плоскую структуру файла. Когда вы устанавливаете из репозитория Emacs через M-x list-packages или подобные объекты, вы получаете свои файлы пакетов прямо там, где они должны, т.е.: (expand-file-name "~/.emacs.d/elpa"), поэтому прокомментируйте приведенный выше код load-path:

;;  (setq load-path 
;;      (append (list "path/to/polymode/" "path/to/polymode/modes/")
;;          load-path))