Есть ли какая-либо модификация существующего инструмента или нового инструмента, который будет выделять синтаксисом (цветом) блоки кода R в документе с уценкой knitr при открытии в Emacs?
Фрагменты вязального устройства, на которые я смотрю, представляют собой блоки с тройным обратным апострофом, [```]
которые содержат код R.
РЕДАКТИРОВАТЬ: вещи, которые я пробовал до сих пор:
- Ubuntu 12.04 с Emacs 23
emacs --version
GNU Emacs 23.3.1
1. Полимод
https://github.com/vitoshka/polymode/issues/3
Я пытаюсь использовать полимод для синтаксической подсветки моих файлов Rmd, но он жалуется на файл загрузки «цвет»:
cd ~/.emacs.d
git clone https://github.com/vitoshka/polymode.git
В моем файле .emacs:
(add-to-list 'load-path "/home/avilella/.emacs.d/polymode/")
(add-to-list 'load-path "/home/avilella/.emacs.d/polymode/modes/")
;; Require any polymode bundles that you are interested in:
(require 'poly-R)
(require 'poly-markdown)
eval-буфер:
Cannot open load file: color
- CentOS с Emacs 24:
emacs --version
GNU Emacs 24.2.1
1. Полимод установлен правильно
Откройте файл Rmd,, M-x polymode-minor-mode
без изменения подсветки синтаксиса.
emacs --version
GNU Emacs 24.3.1
1. Полимод установлен правильно
Откройте файл Rmd, M-x poly-markdown+r-mode
начинает появляться подсветка синтаксиса, но мне нужно вручную изменить тест в каждом блоке кода с тремя отметками, чтобы он полностью отображал синтаксис.
Второе изображение сразу после набора Return перед блоком вязальщика.
источник
polymode
Ответы:
Это может помочь: http://sjp.co.nz/posts/emacs-ess-knitr/
Уценка Knitr в Emacs через ESS
источник
(setq ess-swv-processor 'knitr)
файл инициализации.Твоя проблема
Прежде всего, вы говорите, что у вас есть GNU Emacs 23.3.1, но в
polymode
readme.md
нем говорится:Что касается вашей ошибки: «Не удается открыть файл загрузки: цвет», в
polymode.el
, есть строка:этот пакет есть в Emacs 24, но он вполне может отсутствовать в вашей версии.
Решение
Выполните обновление до последней (поэтому поддерживаемой) версии Emacs.
Распакуйте polymode.zip в каталог, в котором вы храните материалы Emacs, например:
и измените полученный
polymode-master
каталог наpolymode
Добавьте это в свой файл инициализации (и если вы использовали другие имена выше, измените имена ниже соответственно):
Meta+
rmd
когда Rmd-файл открыт или установлен режим<!-- Local Variables: -->
... наслаждайтесь резким изменением вашей производительности.
PS
Не упускайте из виду последнюю строчку elisp. Это позволит правильно сохранить уценку. Иначе при повторном открытии документа вас ждут неприятные сюрпризы.
Примечание для пользователей Windows
Пропустите это, если вы любитель Linux, но, несмотря на то, что в вопросе упоминается Ubuntu, мой ответ идеально подходит и для Windows Emacs. Только в отношении:
Шаг 2) Вы распакуйте polymode.zip в:
Как вы догадываетесь, переменная среды% USERPROFILE% содержит путь к каталогу вашего профиля пользователя. Если вы не уверены, что это такое, выполните
set USERPROFILE
в командной строке CLI.Как пользователь Windows вы можете использовать для хранения вещей
My Documents
. В этом случае ваш dir будет:Шаг 3) Если на шаге 2) вы использовали путь
%USERPROFILE%\Documents\conf\emacs
, измените соответственно первую строку кода:в (обратите внимание на косую черту):
В обоих случаях (с «Моими документами» и без него) вы можете предпочесть стиль Windows:
источник