Відповіді:
buffer-face-set
а buffer-face-mode
в Emacs 23 або новіших версіях призначена саме для цього. З вікі 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)
Зміни можна зробити, скориставшись org-mode-hook
подібним чином
(add-hook 'org-mode-hook (lambda () (set-frame-font "Inconsolata" t)))
Який буде змінювати шрифт щоразу, коли ви перейдете в режим org. Мінусом є те, що він не змінює шрифт назад після виходу з режиму org.
Редагувати: як вказував Райан , ви можете дотримуватися порад на цій сторінці вікі, щоб зробити це за буфером. Я не пройшов тестування широко, але, здається, це працює
(add-hook 'org-mode-hook (lambda ()
(setq buffer-face-mode-face '(:family "Inconsolata"))
(buffer-face-mode)))
Можливо, у вас можуть виникнути проблеми, якщо ви хочете використовувати їх buffer-face-mode
в інших буферах, але якщо ви використовуєте їх лише для цього, він повинен працювати.
buffer-face-set
? Ця вікі-сторінка вказує, що ви можете робити те саме за буфер, а не за кадр.