2012-04-05 41 views
5

我下载了nxhtml并将其解压缩。然后我把它放在我的.emacs文件中。每次打开.html.erb文件时,都会设置eruby-nxhtml-mumamo-mode

(add-to-list 'load-path "~/nxhtml/util") 
    (require 'mumamo-fun) 
    (setq mumamo-chunk-coloring 'submode-colored) 
    (add-to-list 'auto-mode-alist '("\\.rhtml\\'" . eruby-nxhtml-mumamo-mode)) 
    (add-to-list 'auto-mode-alist '("\\.html\\.erb\\'" . eruby-nxhtml-mumamo-mode)) 

当我打开.html.erb文件时,它没有正确的模式设置(因此语法突出显示不正确)。我知道require语句正确运行b/c我可以手动将aquamacs设置为eruby-nxhtml-mumamo-mode,如果我注释掉require行,我甚至不能切换到该模式。我甚至尝试用其他模式替换eruby ...-模式,例如C++模式和我知道工作的其他模式,这也不起作用。

所以是我的问题与正则表达式?我不确定。任何帮助,将不胜感激。

+0

我看不出你的代码有什么问题,并且实验证明它适用于我(指定了不同的模式)。当你说你不是以适当的模式结束时,你最终会进入哪种模式?也许另一个映射优先。 – phils 2012-05-03 06:58:49

回答

1

尝试以下操作:

(add-to-list 'auto-mode-alist '("\\.rhtml?$" . eruby-nxhtml-mumamo-mode)) 
(add-to-list 'auto-mode-alist '("\\.html?\\.erb$" . eruby-nxhtml-mumamo-mode)) 

看样子你在你的表情年底有一个转义逗号。

我不知道你的标题中缺少'l'是否是有意的,但问号应该解释为什么。美元符号将表达式锚定到字符串的末尾,名义上是可选的,但很明显,这很好。

+0

“匹配字符串而不是缓冲区时,'$'匹配字符串末尾或换行符之前。”而“'\''匹配空字符串,但只在匹配的缓冲区或字符串的末尾。”换句话说,'\''绝对匹配字符串的末尾,而'$'可能不会有换行符。当涉及到文件名时,这种差异是不可能成为问题的,但我仍然倾向于使用'\''。 – phils 2012-05-03 06:53:05

相关问题