Emacs如何选择在模式行中列出哪些次要模式?

时间:2012-04-08 07:32:48

标签: emacs elisp modeline

我计划在不久的将来在Emacs中自定义模式行,我不明白在模式行中列出次模式的算法。

在Emacs手册的“1.3模式线”部分中,它说:«MINOR是一些启用的“次要模式”列表»

在«23.2次模式»部分中,它说:«大多数缓冲区本地次要模式在启用时在模式行中显示»

但是我列出了ErgoEmacs次要模式,这是全局的。有人可以解释这背后的机制,并最好指出负责这种情况的各种elisp来源吗?

2 个答案:

答案 0 :(得分:8)

您可以通过执行以下操作来更改特定次要模式的显示内容

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

将显示yasnippet mode的“¥”。我做了很多,特别是对于我经常使用的模式,因为它大大缩短了模式行。

答案 1 :(得分:5)

这是根据模式自己的定义为每个单独的模式指定的。

如果您继续阅读第23.3.3节 - 定义次要模式:

  

字符串LIGHTER表示启用模式时在模式行中显示的内容;如果是'nil',模式不会显示在模式行中。

请参阅:

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

C-h f define-minor-mode RET

另请参阅http://www.emacswiki.org/emacs/DelightedModes,这有助于轻松自定义主模式和次模式的模式行显示。