Utilizzo di un carattere diverso per ciascuna modalità principale


19

È possibile impostare caratteri diversi seguendo la modalità principale? Dì Inconsolata-12nei org-modebuffer e Symbola-12in tutte le modalità rimanenti. O almeno, è possibile fare un

(set-frame-font "Inconsolata" t)

dopo il passaggio ai org-modebuffer?

Risposte:


21

buffer-face-sete buffer-face-modein Emacs 23 o successivo è progettato esattamente per questo. Dal wiki di Emacs :

;; Use variable width font faces in current buffer
 (defun my-buffer-face-mode-variable ()
   "Set font to a variable width (proportional) fonts in current buffer"
   (interactive)
   (setq buffer-face-mode-face '(:family "Symbola" :height 100 :width semi-condensed))
   (buffer-face-mode))

 ;; Use monospaced font faces in current buffer
 (defun my-buffer-face-mode-fixed ()
   "Sets a fixed width (monospace) font in current buffer"
   (interactive)
   (setq buffer-face-mode-face '(:family "Inconsolata" :height 100))
   (buffer-face-mode))

 ;; Set default font faces for Info and ERC modes
 (add-hook 'erc-mode-hook 'my-buffer-face-mode-variable)
 (add-hook 'Info-mode-hook 'my-buffer-face-mode-variable)

4

Puoi fare il cambiamento usando org-mode-hook, in questo modo

(add-hook 'org-mode-hook (lambda () (set-frame-font "Inconsolata" t)))

Che cambierà il carattere ogni volta che entri in modalità org. Il rovescio della medaglia è che non cambia il carattere indietro dopo aver lasciato la modalità org.

Modifica: come sottolineato da Ryan , puoi seguire i consigli su questa pagina wiki per farlo per buffer. Non ho testato ampiamente, ma questo sembra funzionare

(add-hook 'org-mode-hook (lambda ()
                            (setq buffer-face-mode-face '(:family "Inconsolata"))
                            (buffer-face-mode)))

Potrebbe avere problemi se si desidera utilizzare buffer-face-modein altri buffer, ma se lo si utilizza solo per questo, dovrebbe funzionare.


4
Hai visto buffer-face-set? Questa pagina wiki indica che puoi fare la stessa cosa per buffer invece che per frame.
Ryan,

1
Fantastico, grazie, è esattamente quello che stavo cercando. Questa comunità è straordinaria.
csantosb,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.