バッファーとモードラインに異なるフォントサイズを設定するにはどうすればよいですか?


14

すべてのフレームでフォントのサイズを設定するために、init.elファイルに次の行があります。

(push '(font . "DejaVu Sans Mono-10") default-frame-alist)

それは動作しますが、モードライン用に小さいフォントを保持しながら、すべてのバッファに大きなフォントを使用したいです(したがって、より多くの情報に適合し、気が散らないようにすることができます)。これは、オープンバッファごとにCx C- +でフォントサイズを変更することなく、この設定を自動的に行うという考え方です。

GNU / LinuxシステムのトランクからコンパイルされたEmacs 25.0.50.1を使用しています。

編集:方法を示す回答を追加しました。

回答:


14

フォントサイズを設定するためのコードを次のように置き換えてみてください。

(set-face-attribute 'default nil :font "DejaVu Sans Mono-14")
(set-face-attribute 'mode-line nil :font "DejaVu Sans Mono-10")

もちろん、サイズ(14および10)を好みの値に変更する必要があります。


特定の顔をカスタマイズしたいが、その名前がわからない場合は、

M-x list-faces-display RET

これにより、特定のキーワードを検索できるすべての顔(プレビュー付き)のリストが表示されます。


1
ありがとう、それでした。list-faces-display関数は、変更可能な5つのモードライン関連のフェイスがあるため、非常に便利であることがわかります。
アンストレス14年

@undostresどういたしまして:)
itsjeyd 14年

デフォルトのテーマに関連するフォントを指定する方法はありますか?特定のフォントサイズは、テキストスケール増加/減少を使用した場合、スケーリングからフォントを停止指定
jr0cket

7

itsjeydの回答のおかげで、現在および将来のすべてのフレームのすべてのモードライン関連の顔のサイズを変更する短い表現を書くことができました。

デフォルト以外のテーマ(zenburnなど)を使用している場合は、テーマを宣言した後にコードを配置する必要があります。すなわち、この行の後:

(load-theme 'solarized-light t)

デフォルトのフォントサイズが10以外の場合、コードは次のようになります。

(let ((faces '(mode-line
               mode-line-buffer-id
               mode-line-emphasis
               mode-line-highlight
               mode-line-inactive)))
     (mapc
      (lambda (face) (set-face-attribute face nil :font "DejaVu Sans Mono-10"))
      faces))

フォントを小さくするには、より小さい値を設定します(「DejaVu Sans Mono-9」)。他のフォントも使用できます:inconsolataなど。

編集:結果を示すスクリーンショットを追加しました。モード行のフォントサイズは10で、残り(バッファーなど)は12です。

より小さなモードラインフォント

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.