Risposte:
buffer-face-set
e buffer-face-mode
in 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)
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-mode
in altri buffer, ma se lo si utilizza solo per questo, dovrebbe funzionare.
buffer-face-set
? Questa pagina wiki indica che puoi fare la stessa cosa per buffer invece che per frame.