Réponses:
buffer-face-set
et buffer-face-mode
dans Emacs 23 ou version ultérieure est conçu exactement pour cela. Du wiki 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)
Vous pouvez effectuer le changement en utilisant le org-mode-hook
, comme ceci
(add-hook 'org-mode-hook (lambda () (set-frame-font "Inconsolata" t)))
Ce qui changera la police chaque fois que vous entrerez en mode org. L'inconvénient est qu'il ne change pas la police après avoir quitté le mode org.
Edit: comme l'a souligné Ryan , vous pouvez suivre les conseils sur cette page wiki pour le faire par tampon. Je n'ai pas testé intensivement, mais cela semble fonctionner
(add-hook 'org-mode-hook (lambda ()
(setq buffer-face-mode-face '(:family "Inconsolata"))
(buffer-face-mode)))
Il peut avoir des problèmes si vous souhaitez l'utiliser buffer-face-mode
dans d'autres tampons, mais si vous ne l'utilisez que pour cela, cela devrait fonctionner.
buffer-face-set
? Cette page wiki indique que vous pouvez faire la même chose par tampon au lieu de par image.