Wie kann ich unterschiedliche Schriftgrößen für Puffer und für die Mode-Line einstellen?


14

Ich habe diese Zeile in meiner init.el-Datei, um die Schriftgröße in allen Frames festzulegen:

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

Es funktioniert, aber ich möchte eine größere Schrift in allen Puffern haben, während ich eine kleinere für die Moduszeile behalten möchte (damit mehr Informationen passen und weniger ablenken). Die Idee ist, dass dies automatisch eingestellt wird, ohne dass die Schriftgröße mit Cx C- + für jeden offenen Puffer geändert werden muss.

Ich verwende Emacs 25.0.50.1, das aus trunk auf einem GNU / Linux-System kompiliert wurde.

Bearbeiten: hat gerade eine Antwort hinzugefügt, die zeigt, wie es gemacht werden kann.

Antworten:


14

Versuchen Sie, den Code zum Festlegen der Schriftgröße wie folgt zu ersetzen:

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

Natürlich möchten Sie die Größen ( 14und 10) in Werte ändern, die Ihnen gefallen.


Wenn Sie ein bestimmtes Gesicht anpassen möchten und dessen Namen nicht kennen, versuchen Sie Folgendes

M-x list-faces-display RET

Auf diese Weise erhalten Sie eine Liste aller Gesichter (mit Vorschauen), in denen Sie nach bestimmten Stichwörtern suchen können.


1
Danke, das wars. Die List-Faces-Display-Funktion erweist sich als sehr nützlich, da es 5 moduslinienbezogene Gesichter gibt, die modifiziert werden können.
Undostres

@undostres Gern geschehen :)
itsjeyd

Gibt es eine Möglichkeit, die Schriftart relativ zum Standarddesign festzulegen? Durch die Angabe einer bestimmten Schriftgröße wird die Skalierung der Schrift beim Erhöhen / Verringern der
Textskala verhindert

7

Dank der Antwort von itsjeyd habe ich es geschafft, einen kurzen Ausdruck zu schreiben, um die Größe aller moduslinienbezogenen Gesichter für alle aktuellen und zukünftigen Frames zu ändern.

Wenn Sie andere Designs als das Standarddesign verwenden (wie zenburn usw.), sollte der Code eingefügt werden, nachdem Sie das Design deklariert haben. dh nach dieser Zeile:

(load-theme 'solarized-light t)

Angenommen, Ihre Standardschriftgröße ist nicht 10, dann lautet der Code:

(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))

Stellen Sie für eine kleinere Schriftart einen kleineren Wert ein ("DejaVu Sans Mono-9"). Andere Schriftarten können verwendet werden: inkonsolierte Schriftarten usw.

Bearbeiten: Ein Screenshot mit den Ergebnissen wurde hinzugefügt. Die Schriftgröße in der Mode-Zeile beträgt 10, während der Rest (Puffer usw.) 12 ist.

Kleinere Mode-Line-Schrift

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.