Wie ändere ich die Standardschriftgröße und den Schrifttyp von emacs?

76

Ich benutze Emacs 23.3. Ich muss die Schriftgröße und den Schrifttyp ändern. Kann mir jemand helfen?

Dämonchand
quelle
Eine ähnliche Frage zum Ändern der Standardschriftgröße und zum Speichern unter .emacs: stackoverflow.com/q/294664/94687
imz - Ivan Zakharyaschev

Antworten:

70

Sie können die Menüleiste verwenden. Gehe zu Options-> Set Default Font....

Vergessen Sie nicht, nach Auswahl einer Schriftart Options-> zu drücken . Save OptionsAndernfalls wird Ihre neue Schriftart nach dem Schließen von Emacs nicht gespeichert.

Tikhon Jelvis
quelle
9
Dies funktioniert nicht (vielleicht früher?). Es ändert nur die Schriftart für den aktuellen Frame und wird nicht für zukünftige Sitzungen gespeichert. In dieser Antwort finden Sie eine Methode, die funktioniert.
Alexis
@alexis: Es funktioniert immer noch für mich auf Emacs-24.2. Hier ist ein Screenshot . (Entschuldigen Sie die abscheuliche Auswahl an Schriftarten: P.) Sie wurde auch beim Neustart von Emacs ordnungsgemäß gespeichert. Vielleicht haben Sie einen Konfigurationsunterschied oder so?
Tikhon Jelvis
3
Meine Version ist kaum anders: Ich habe GNU Emacs 24.3.1 unter OS X und es funktioniert nicht. Klar ist etwas anders, aber siehe auch die Frage und Diskussion bei der Antwort, auf die ich verlinkt habe . Dieser Ansatz hat mir den Tag gerettet. Ich denke, die Schlussfolgerung ist "YMMV".
Alexis
1
Funktionierte auch nicht für Emacs 24.4 unter OS X 10.10.5. Die direkte Änderung von ~ / .emacs funktioniert jedoch.
Fonzie
7
Wenn Sie die Menüleiste ausgeblendet haben, aber dennoch eine GUI-Schriftartenauswahl mit Vorschau verwenden möchten, können Sie diese verwenden M-x menu-set-font.
Vladimir Panteleev
113

Sie können in Ihrer .emacsDatei auch Folgendes tun .

Emacs 23.1

(set-frame-font "Inconsolata 12" nil t)

Ältere Versionen von Emacs

(set-default-font "Inconsolata 12" nil t)
Dov Grobgeld
quelle
12
(set-default-font Fontname-Size) ist jetzt veraltete Verwendung (set-frame-font Fontname-Size)
Napoleon
1
Sie sollten das FRAMESArgument auch so einstellen t, dass es alle Frames betrifft, nicht nur den aktuellen Frame. (set-frame-font Fontname-Size nil t)
Nick McCurdy
Sie können auch ausführen describe-font, um die aktuelle Schriftart zu bestimmen (z. B. wenn sie durch Anpassen festgelegt wurde) oder um mögliche Optionen für "vollständiger Name"
herauszufinden
7

Um eine erweiterte Liste der Anpassungen zu erhalten, verwenden Sie

Mx Customize-Face RET

Jin
quelle
4

Emacs 25.1 unter MacOS hat Menlo 12 als Standard. Ich wollte die Größe erhöhen.

C-x C-f ~/.emacs

Fügen Sie dies am Ende der ~/.emacsDatei hinzu

(set-default-font "Menlo 14")

Um den Änderungseffekt sofort während des Aufenthalts zu sehen ~/.emacs

M-x eval-buffer [RET]

mythischer Kodierer
quelle
1
Dies funktioniert für die ERSTE Datei, die ich beim Starten von Emacs öffne, aber nachfolgende Puffer verwenden wieder die kleinere Schriftart.
HaPsantran
3

In meiner Antwort werde ich mich darauf konzentrieren, die Standardschriftgröße über X-Ressourcen festzulegen. Die Verwendung von X-Ressourcen wurde bereits in der Antwort erwähnt ~/.Xdefaults. Ich werde weitere Details angeben (die gleichen, die ich bereits in https://unix.stackexchange.com/a/426914/4319 beschrieben habe . Abgesehen von der Höhe des "Standard" -Gesichtes in Emacs kann man dies ähnlich einstellen andere Schriftparameter.

Um eine bestimmte Standardschrifthöhe für Emacs festzulegen, habe ich Folgendes eingegeben /etc/X11/Xresources-site( /etc/X11/Xresourcesist ebenfalls in Ordnung, kann jedoch von Ihrer Distribution überschrieben werden):

Emacs.default.attributeHeight: 94

Dies würde auch Remote-X-Clients betreffen, bei denen es sich um Emacs handelt (z. B. Emacs, die auf einem Remote-Host über ssh gestartet wurden).

/etc/X11/Xresources-siteund /etc/X11/Xresources(und wahrscheinlich ~/.Xresourcesund ~/.Xdefaults) werden normalerweise zu Beginn Ihrer X-Sitzung gelesen. Führen Sie so etwas aus, um Ihre aktuellen X-Ressourcen sofort zu beeinflussen xrdb -merge /etc/X11/Xresources-site. Die X-Ressourcen können von angezeigt werden xrdb -query.

Tatsächlich wird in meinem Fall /etc/X11/Xresources-sitedank einer Zeile in /etc/X11/Xresources(die von den Startskripten gelesen wird) gelesen:

#include "/etc/X11/Xresources-site"

so /etc/X11/Xresourcesist die Sache, die sicher gelesen wird.

Es gibt auch einige Dateien mit derselben Syntax, die jedes Mal gelesen werden, wenn ein X-Programm wie emacs gestartet wird. In meinem Fall sind dies : ~/.Xdefaults-MY_HOST_NAME, /etc/X11/app-defaults/Emacs(nur für emacs-athena, nicht für emacs-gtk3) /usr/share/X11/app-defaults/Emacsusw. (Aber ich mag die Idee, geladene X-Ressourcen mehr zu zeigen - gezeigt mit xrdb -query; damit entfernte X-Clients dieselben X-Ressourcen lesen .)

Weitere X-Ressourcen, die Emacs versteht, sind unter https://www.gnu.org/software/emacs/manual/html_node/emacs/Table-of-Resources.html#Table-of-Resources beschrieben .

Emacs 24.3 hatte einen Fehler, der dazu führte, dass die Attribute für das Standardgesicht aus den X-Ressourcen nicht berücksichtigt wurden, wie in meinem obigen Beispiel. Dies wurde seit 24.4 behoben .

imz - Ivan Zakharyaschev
quelle
3

Ich habe die folgende Einstellung in init.el:

(set-face-attribute 'default nil :font "Menlo" :height 160)

Hinweis: Wenn Sie eine Voreinstellung für die Fenstergröße (Breite und Höhe) haben, wird das heightAttribut der Schriftart dieses Layout beeinträchtigen.

Saurabh
quelle
2

Wenn Sie Linux / X11 verwenden, müssen Sie dies möglicherweise einstellen ~/.Xdefaults. Ich habe die Schriftart dort eingestellt, da die anderen Antworten hier keine Auswirkung haben.

Ich kann die verfügbaren Schriftarteinstellungen anzeigen, indem ich sie in Emacs ausführe: helm-select-xfont

Dann beginne ich zu tippen Consound sehe Einträge wie:

-Consolas-normal-normal-normal-*-*-*-*-*-m-0-iso10646-1
...

Also habe ich es eingefügt ~/.Xdefaultsund die Größe 12wie folgt eingestellt :

Emacs.font: xft:-*-Consolas-normal-normal-normal-*-12-*-*-*-m-0-iso10646-1

und starten Sie Emacs neu.

Micah Elliott
quelle
0

Einfach drücken und M-xdann eingeben set-frame-font. Alle verfügbaren Schriftarten, die auf Ihrem Computer vorhanden sind, werden angezeigt. Wählen Sie die gesuchte aus. Ich benutze diesen Weg, um den Schrifttyp in meinem Emacsso einfach zu ändern ; anstatt die .spacemacsoder .emacsDatei zu ändern .

Esmaeil MIRZAEE
quelle