Використання різного шрифту для кожного основного режиму


19

Чи можливо встановити різні шрифти після основного режиму? Скажіть Inconsolata-12у org-modeбуферах і Symbola-12в усіх режимах, що залишилися. Або принаймні, чи можна це зробити?

(set-frame-font "Inconsolata" t)

після переходу на org-modeбуфери?

Відповіді:


21

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)

4

Зміни можна зробити, скориставшись 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в інших буферах, але якщо ви використовуєте їх лише для цього, він повинен працювати.


4
Ви подивилися buffer-face-set? Ця вікі-сторінка вказує, що ви можете робити те саме за буфер, а не за кадр.
Райан

1
Чудово, дякую, саме це я шукав. Ця громада надзвичайна.
csantosb
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.