从 Emacs 23 开始,您可以通过 更改每个缓冲区的面M-x buffer-face-set。请参阅http://www.emacswiki.org/emacs/FacesPerBuffer。因此,根据 Firegun 的回答,您可以buffer-set-face像这样使用:
(defun jmi/set-buffer-local-family (font-family)
"Sets font in current buffer"
(interactive "sFont Family: ")
(defface tmp-buffer-local-face
'((t :family font-family))
"Temporary buffer-local face")
(buffer-face-set 'tmp-buffer-local-face))
Run Code Online (Sandbox Code Playgroud)
(注意:这仍然存在面部名称本身是全局的问题)
我找到了一种方法,尽管它有一些副作用,因为它改变了全局变量buffer-face-mode-face
例如,我想设置当前缓冲区,我可以评估这个函数定义并运行它
(defun my-buffer-face-mode-serif ()
"Sets a fixed width (monospace) font in current buffer"
(interactive)
(setq buffer-face-mode-face '(:family "Times New Roman"))
(buffer-face-mode))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2177 次 |
| 最近记录: |