有没有办法根据主要模式更改字体?如果是这样,怎么做?我通常使用比例字体,但只针对dired模式和shell模式,我想切换到非比例字体。这些模式没有特殊的面,只是使用默认的面,所以不能只通过设置字体来完成。我希望能够根据主要模式自动切换,也许使用钩子。
问问题
482 次
2 回答
6
使用模式挂钩,使用面部重新映射功能挂钩您为当前缓冲区重新映射面部的函数:
(defun use-monospace ()
"Switch the current buffer to a monospace font."
(face-remap-add-relative 'default '(:family "Monospace")))
(add-hook 'dired-mode-hook 'use-monospace)
...
于 2012-11-01T18:12:07.273 回答
2
如上所述定义自己的函数的另一种选择是使用buffer-face-mode
. 通常这将variable-pitch
用于启用它的缓冲区,但由于您想使用可变间距字体作为默认字体,您可以将其更改为fixed-pitch
:
(setq buffer-face-mode-face 'fixed-pitch)
(add-hook 'dired-mode-hook 'buffer-face-mode)
(add-hook 'shell-mode-hook 'buffer-face-mode)
于 2012-11-02T09:41:22.157 回答