2012-04-05 75 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

相關問題