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

6
我计划在不久的将来自定义Emacs中的模式行,但我不理解在模式行中列出次要模式的算法。 在Emacs手册的“1.3模式行”部分中,它说:“MINOR是一些启用的'次要模式'列表”。 而在“23.2次要模式”部分中,它说:“大多数缓冲区本地的次要模式在启用时会在模式行中显示”。 然而,我的ErgoEmacs次要模式被列出,这是全局的。 有人能解释一下背后的机制,并最好指出各种elisp源文件负责此事吗?
2个回答

7
您可以通过以下方式更改特定次要模式的显示内容:
(setcar (cdr (assq 'yas/minor-mode minor-mode-alist)) " ¥")

这将为yasnippet模式显示" ¥"。我经常这样做,特别是对于我经常使用的模式,因为它可以显著缩短我的模式行。


给我一个错误:类型参数错误。 - Edman

5
这是由每个模式的定义自己指定的。如果您继续阅读23.3.3节 - 定义小模式:
字符串“LIGHTER”表示在启用模式时在模式行中显示什么; 如果为'nil',则不在模式行中显示该模式。
请参见: M-: (info "(elisp) Defining Minor Modes") RET C-hf define-minor-mode RET 另请参见http://www.emacswiki.org/emacs/DelightedModes,它方便了对主要和次要模式的模式行显示进行自定义。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接