Respuestas:
buffer-face-set
y buffer-face-mode
en Emacs 23 o posterior está diseñado exactamente para esto. Del wiki de 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)
Puedes hacer el cambio usando org-mode-hook
, como este
(add-hook 'org-mode-hook (lambda () (set-frame-font "Inconsolata" t)))
Lo que cambiará la fuente cada vez que ingrese al modo org. La desventaja es que no vuelve a cambiar la fuente después de salir del modo organización.
Editar: como señaló Ryan , puede seguir los consejos de esta página wiki para hacerlo por búfer. No lo he probado extensamente, pero esto parece funcionar
(add-hook 'org-mode-hook (lambda ()
(setq buffer-face-mode-face '(:family "Inconsolata"))
(buffer-face-mode)))
Puede tener problemas si desea usarlo buffer-face-mode
en otros buffers, pero si solo lo usa para esto, entonces debería funcionar.
buffer-face-set
? Esta página wiki indica que puede hacer lo mismo por búfer en lugar de por cuadro.