Я играю с mmm-mode, чтобы объединить режим markdown и ESS для редактирования файлов Rmarkdown. Я использую gnu emacs 24.3 в Windows 7 и последнюю версию вышеупомянутых режимов. Вот что у меня есть в моем файле .emacs:
(require 'mmm-mode) ;;; possibly init with (require 'mmm-auto) instead
(mmm-add-classes
'((rmarkdown
:submode r-mode
:face mmm-declaration-submode-face
:front "^```[{]r.*[}] *$"
:back "^``` *$")))
(setq mmm-global-mode 'maybe)
(mmm-add-mode-ext-class 'markdown-mode "\\.rmd\\'" 'rmarkdown)
Это работает до тех пор, пока в буфере, показывающем файл rmarkdown, распознаются блоки кода R, и я получаю правильную синтаксически понятную блокировку шрифтов как в блоках кода R, так и в блоках уценки. Более того, когда у меня есть точка в блоке кода R, я получаю меню ESS и Imenu-R, а когда он находится в области уценки, я получаю меню уценки. Все идет нормально.
Вот мои проблемы. В блоках кода R не работает электрическое левое назначение. Я не могу просто нажать клавишу подчеркивания, чтобы получить «‹ - »и переключаться между ним и« _ ».
Кроме того, у меня нет синтаксически распознаваемых автоматических отступов для кода R.
Обе эти вещи работают, когда я использую ESS для редактирования файлов, содержащих чистый код R.
Есть мысли о том, как это настроить? Мне известно об этой предыдущей публикации почти год назад: Как я могу использовать режим Emacs ESS с R markdown? и указателем на полимод, но кажется, что полимод продвигается медленно. Я также видел другие указатели на org-mode для аналогичной функциональности, и хотя в какой-то момент я могу сделать решительный шаг, сегодня мои вопросы касаются получения максимальной отдачи от комбинации mmm-mode, markdown-mode и ESS. Спасибо за вашу помощь.