【发布时间】:2025-11-25 09:10:01
【问题描述】:
我正在使用 mmm-mode 来结合 markdown-mode 和 ESS 来编辑 Rmarkdown 文件。我在 Windows 7 上使用 gnu emacs 24.3 和上述模式的最新版本。这就是我的 .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 代码块和 markdown 块中都获得了正确的语法感知字体锁定。更多,当我在 R 代码块中有要点时,我得到 ESS 和 Imenu-R 菜单,当它在降价区域中时,我得到一个降价菜单。到目前为止一切顺利。
这是我的问题。在 R 代码块内,电动左分配不起作用。我不能简单地按下划线键来获取“
另外,我没有得到 R 代码的语法感知自动缩进。
当我使用 ESS 编辑包含纯 R 代码的文件时,这两件事都有效。
关于如何调整它的任何想法?我知道近一年前的这篇文章:How can I use Emacs ESS mode with R markdown? 和指向 polymode 的指针,但 polymode 似乎进展缓慢。我还看到了其他指向 org-mode 以实现类似功能的指针,虽然我可能会在某些时候尝试一下,但今天我的问题是关于充分利用 mmm-mode、markdown-mode 和 ESS 的组合。感谢您的帮助。
【问题讨论】:
-
我认为酷孩子们使用由 ESS 贡献者之一编写的“polymode”;我记得它在 Google Code 上。
标签: r emacs markdown ess r-markdown