2012-04-08 83 views
5

我打算在不久的將來定製Emacs中的模式行,並且我不明白在模式行中列出次要模式的算法。Emacs如何選擇在模式行中列出哪些次要模式?

在第«1.3模式行»的Emacs的手冊,它說:«MINOR是一些啓用‘小調’的名單»

雖然部分«23.2次要模式»這樣說的: «大多數緩衝區本地小模式說,在模式行時,他們被啓用»

然而,我有ErgoEmacs次要模式列出,這是全球性的。有人可以解釋這個背後的機制,最好指出各種elisp來源負責嗎?

回答

5

這是通過模式自己的定義爲每個模式指定的。

如果你讀第23.3.3 - 定義小調:

字符串打火機說,當啓用該模式,什麼模式行顯示;如果它是`nil',模式不會顯示在模式行中。

參見:

M-:(info "(elisp) Defining Minor Modes")RET

C-H˚Fdefine-minor-modeRET

參見http://www.emacswiki.org/emacs/DelightedModes這有利於輕鬆定製主模式和次模式下的模式行顯示。

8

你可以改變的是什麼做這樣下面

(setcar (cdr (assq 'yas/minor-mode minor-mode-alist)) " ¥") 

東西,將顯示「¥」爲yasnippet mode顯示特定輔助模式。我做了很多,特別是對於我經常使用的模式,因爲它大大縮短了我的模式線。