7

我一直在尝试让 mmm-mode 工作,特别是用于 Rails 开发。我已按照安装说明进行操作,但无法进入我正在寻找的特定混合模式和特殊突出显示。最具体的 erb 文件。这是我的 .emacs 文件:

(custom-set-variables
 '(custom-enabled-themes (quote (zenburn)))
 '(custom-safe-themes (quote ("71b172ea4aad108801421cc5251edb6c792f3adbaecfa1c52e94e3d99634dee7" default)))
 '(show-paren-mode t))
(custom-set-faces
 )

;; File associations.
(setq auto-mode-alist (cons '("\\.builder$" . ruby-mode) auto-mode-alist))

(require 'mmm-auto)
(setq mmm-submode-decoration-level 0)
(mmm-add-group
 'fancy-html
 '((html-erb
    :submode ruby-mode
    :match-face (("<%#" . mmm-comment-submode-face)
                 ("<%=" . mmm-output-submode-face)
                 ("<%"  . mmm-code-submode-face))
    :front "<%[#=]?"
    :back "%>"
    :insert ((?% erb-code       nil @ "<%"  @ " " _ " " @ "%>" @)
             (?# erb-comment    nil @ "<%#" @ " " _ " " @ "%>" @)
             (?= erb-expression nil @ "<%=" @ " " _ " " @ "%>" @)))))

(add-to-list 'mmm-mode-ext-classes-alist '(html-mode nil fancy-html)) 

尽管按照说明进行了顺利的安装过程,但我还没有能够突出显示以在我的 erb 文件中工作。如果这很重要,我正在运行 emacs 24。所以我按照下载中的说明进行操作。之后我将文件夹放在了我的 .emacs.d 文件夹中。我可以访问 Mx 中的 mmm 模式的东西。我只是没有突出显示我的模式,也找不到对声明模式的任何引用。

PS:旁注我无法坚持我的zenburn主题,但那是另一回事。

编辑:我所指的“说明”位于链接以及下载中包含的 targz 中的安装文件。

4

2 回答 2

7

不幸的是,Emacs 没有好的规范的多模式编辑故事。sanityinc (Steve Purcell) 在这里为 Emacs 24 修补了 MMM 模式:https ://github.com/purcell/mmm-mode

他的配置在这里:https ://github.com/purcell/emacs.d

作为init-ruby-mode.elinit-mmm.el

但这远非理想(不支持缩进,仅突出显示特殊区域。)

其他人对 nxhtml 很幸运。

编辑:添加指向 sanityinc 配置的指针

于 2012-06-02T14:12:31.517 回答
4

An update on the situation:

1) The highlighting problems should be fixed now.

2) To get smart indentation, see mmm-erb.el in https://github.com/purcell/mmm-mode and the instructions in its header.

于 2012-06-17T14:21:28.670 回答