メジャーモードに応じてフォントを変更する方法はありますか?もしそうなら、どのように?私は通常プロポーショナルフォントを使用しますが、diredモードとシェルモードの場合のみ、非プロポーショナルフォントに切り替えたいと思います。これらのモードには特別な面はなく、デフォルトの面を使用するだけなので、フォントの面を設定するだけでは実行できません。おそらくフックを使用して、メジャーモードに応じて自動的に切り替えることができるようにしたいと思います。
質問する
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 に答える