2012-04-08 3 views
5

Я планирую настроить линию режима в Emacs в ближайшем будущем, и я не понимаю алгоритм, содержащий перечисление второстепенных режимов в строке режима.Как Emacs выбирает, какие второстепенные режимы перечислить в строке режима?

В разделе «1.3 Строка режима» из Emacs руководство написано: «Минор список некоторых из включенных„второстепенных режимов“»

В то время как в разделе «23.2 Второстепенные режимы» он говорит: «Большинство локальных вспомогательных режимов буфера говорят в строке режима, когда они включены»

Однако у меня есть список второстепенного режима ErgoEmacs, который является глобальным. Может ли кто-нибудь объяснить механизм, лежащий в основе этого, и, возможно, указать на различные источники, которые отвечают за это?

ответ

5

Это указано для каждого отдельного режима по собственному определению режима.

Если вы читаете в раздел 23.3.3 - Определение Второстепенные режимы:

Строка зажигалку говорит, что будет отображаться в строке состояния, когда включен режим; если это «nil», режим не отображается в строке режима.

См:

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

С-чеdefine-minor-modeRET

Смотрите также http://www.emacswiki.org/emacs/DelightedModes что облегчает легкая настройка отображения линии режима для основных и второстепенных режимов.

8

Вы можете изменить то, что отображается для конкретного второстепенного режима, делая что-то вроде следующего

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

, который будет отображать «¥» для yasnippet mode. Я делаю это много, особенно для режимов, которые я часто использую, поскольку он значительно сокращает мою линию режима.

Смежные вопросы