emacs:使用mmm-mode结合markdown-mode和ESS来编辑rmarkdown文件

时间:2014-03-11 21:29:39

标签: r emacs markdown ess r-markdown

我正在使用mmm模式将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?和指向多态的指针,但是多态性似乎正在缓慢推进。我也看到过针对类似功能的org-mode的其他指示,虽然我可能会采取一些措施,但今天我的问题是如何充分利用mmm-mode,markdown-的组合 - 模式和ESS。谢谢你的帮助。

1 个答案:

答案 0 :(得分:4)

Polymode是要走的路。不幸的是仍在开发中,但适用于大多数事情。