2012-04-08 16 views
5

Ho intenzione di personalizzare la linea della modalità in Emacs nel prossimo futuro, e non capisco l'algoritmo dietro l'elencazione delle modalità minori nella linea della modalità.In che modo Emacs seleziona le modalità minori da elencare nella riga della modalità?

Nella sezione «1.3 La modalità Linea» di Emacs manuale dice: «Minor è una lista di alcuni dei abilitati 'modalità secondarie'»

Mentre nella sezione «23.2 modalità secondarie» si legge: «La maggior parte delle modalità secondarie locali del buffer dicono nella riga di modalità quando sono abilitate»

Tuttavia ho elencato la modalità minore di ErgoEmacs, che è globale. Qualcuno può spiegare il meccanismo alla base di questo e preferibilmente indicare varie fonti elisp responsabili di ciò?

risposta

5

Questo è specificato per ciascuna modalità, secondo la definizione della modalità.

Se andate a leggere su alla sezione 23.3.3 - Definizione di modalità secondarie:

La stringa ACCENDINO dice cosa visualizzare nella linea modalità quando la modalità è attivata; se è `nil ', la modalità non viene visualizzata nella riga della modalità.

Vedi:

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

C-hfdefine-minor-modeRET

Vedi anche http://www.emacswiki.org/emacs/DelightedModes che facilita facile personalizzazione della visualizzazione della riga della modalità per entrambe le modalità principale e secondaria.

8

È possibile modificare ciò che viene visualizzato per un modo minore specifica facendo qualcosa di simile alla seguente

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

che visualizzerà "¥" per yasnippet mode. Lo faccio molto, specialmente per le modalità che uso spesso poiché accorcia notevolmente la mia linea di modo.

Problemi correlati