2012-03-19 24 views
8

我使用Emacs很長一段時間,我已經定製了很多。我甚至寫了簡單的ELisp函數,現在我開始越來越多地使用宏。我沒有接近知識淵博的Emacs用戶,但我不是一個完整的初學者。Emacs:font-lock說明

我使用nxhtml,mumamo,dired,IDO,自定義鍵綁定和這麼多東西我貫穿我不記得所有的人的年加入; )

但有件事情我真的不理解:什麼是「FONT-Lock」模式,爲什麼要在乎?

例如,我讀過nxhtml和nxml,如果我沒有記錯,不使用字體鎖。也許我不太瞭解那部分,但無論如何:作爲用戶,它對我而言有什麼改變?

或採取例如本說明書有關空白符

注意,當空白是開啓時,空白符節省 字體鎖定狀態,也就是說,如果字體鎖是打開還是關閉。並且WhiteSpace 在關閉時恢復字體鎖定狀態。所以,如果空白符 被打開和字體鎖是關閉的,空白符還打開了 字型鎖突出空白,但是當空白是關閉字體鎖將被關閉 。因此,打開 之前的字體鎖定,如果您希望在 之後繼續打開WhiteSpace,則啓用WhiteSpace。

OK,挺好的。我明白那個。但是,如果字體鎖繼續或不在,它會發生什麼變化?

基本上我不會「得到它」,不管我讀了多少關於這個主題。

任何例子/解釋,什麼是「字型鎖」是在Emacs下,爲什麼對我而言將是最歡迎!

+1

字體鎖定是與應用在角色上的效果相關的所有內容,使它們看起來與其常規外觀不同。您所引用的「空白模式」描述告訴您,「空白模式」不違反次要模式行爲準則,其中規定次要模式不應互相干擾。即使'whitespace-mode'需要激活字體鎖定以使空間看起來不同,它會記住您以前的字體鎖定狀態,以便在停用它時將所有內容都放回原位。 – Francesco 2012-03-19 19:44:22

回答

4

它顯示所有不同顏色的代碼(紅色表示註釋,綠色表示類名等)。如果關閉,則代之以黑白代碼。打開一些代碼並執行M-x字體鎖定模式幾次以觀察它開啓和關閉。

+0

好吧,但然後如何像nxml或nxhtml的一些模式,說他們沒有使用字體鎖,但顯示的東西有很多不同的顏色? – 2012-03-19 18:13:36

+0

這就是你所看到的嗎?當我以nxml模式顯示xml文件時,當我切換字體鎖定模式時,可以看到顏色開啓和關閉。 – 2012-03-19 18:37:18

10

font-lock-mode ==多彩語法highligthing。 global-font-lock-mode爲Emacs中的每種模式啓用字體鎖定。舊的Emacs版本需要你手動啓用它,新版本(我認爲是23+)默認啓用它。我無法想象許多人會想關閉此功能,因爲它使得某些類型的內容(如源代碼)非常可讀。每種使用font-lock的模式都依賴於一組 - 字體屬性的組合,如大小,粗體,下劃線,斜體和顏色。大多數模式使用的基本面孔是:

font-lock-builtin-face 
font-lock-comment-face 
font-lock-comment-delimiter-face 
font-lock-constant-face 
font-lock-doc-face 
font-lock-doc-string-face 
font-lock-function-name-face 
font-lock-keyword-face 
font-lock-negation-char-face 
font-lock-preprocessor-face 
font-lock-string-face 
font-lock-type-face 
font-lock-variable-name-face 
font-lock-warning-face 

可以容易地替換它們的值,如果你希望他們(或使用不同的顏色主題)。一些模式恰好定義了額外的面。