根据主要模式更改字体

saw*_*awa 3 emacs fonts major-mode

是否可以根据主要模式更改字体?如果是这样,怎么办?我通常使用比例字体,但是仅对于Dired模式和Shell模式,我想切换为非比例字体。这些模式没有特殊的外观,仅使用默认外观,因此不能仅通过设置字体来完成。我希望能够根据主要模式自动切换,也许使用挂钩。

use*_*342 5

使用模式钩子,钩住使用面重新映射功能为当前缓冲区重新映射面的函数:

(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)
...
Run Code Online (Sandbox Code Playgroud)