我剛開始玩emacs模式。我製作了派生模式(從text-mode
),它可以針對不同情況進行簡單的顏色修改。例如,文本的以上所有等號的線(=
)變爲品紅色,這是使用的代碼來完成:emacs major-mode:僅在首次加載文件時發生字體鎖
(make-face 'heading-face1)
(set-face-foreground 'heading-face1 "brightmagenta")
(set-face-attribute 'heading-face1 nil :weight 'ultra-bold)
(setq font-lock-heading-face1 'heading-face1)
(font-lock-add-keywords nil '(("\\(.*\n=\\{5,\\}.*\\)"
1 font-lock-heading-face1 prepend)))
當我第一打開具有這樣一個文本文件,它被適當着色的;但如果我添加一個額外的=
,或者創建一個新行=============
,它們將轉爲正常文本顏色。
其他字體鎖做動態工作。例如,數字立即使用不同的顏色...
什麼會導致模式與第一次打開文件時動態地進行不同匹配?
謝謝@immerrr,這很有道理 - 而且似乎是解釋。我對lisp完全不熟悉,並且無法破譯多行結構的文檔。你有可能提供一個例子嗎? – DilithiumMatrix
@zhermes,如果你留在Emacs中,不熟悉Lisp只是時間問題:)同時,你可以嘗試並遵循下面的例子:http://stackoverflow.com/a/15239704/944617 – immerrr