2012-04-08 55 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显示特定辅助模式。我做了很多,特别是对于我经常使用的模式,因为它大大缩短了我的模式线。