Emacs hebt Shell- und Bash-Skripte standardmäßig mit verschiedenen Farben hervor. Je nach Farbschema können Zeichenketten, Kommentare, Funktionsnamen oder Variablen jedoch schlecht lesbar sein — insbesondere bei einem dunklen Hintergrund.
Mit custom-set-faces lassen sich diese Farben gezielt anpassen.
Die Konfiguration
Die folgende Einstellung verwendet helle und kontrastreiche Farben für wichtige Bestandteile eines Bash-Skripts:
(custom-set-faces
'(font-lock-string-face
((t (:foreground "#87d7ff"))))
'(font-lock-comment-face
((t (:foreground "#d0d0d0"))))
'(font-lock-function-name-face
((t (:foreground "#ffaf5f"
:weight bold))))
'(font-lock-variable-name-face
((t (:foreground "#5fd7d7")))))
Die Konfiguration kann in der Emacs-Datei ~/.emacs oder ~/.emacs.d/init.el gespeichert werden.
Bedeutung der einzelnen Einstellungen
Zeichenketten
'(font-lock-string-face
((t (:foreground "#87d7ff"))))
font-lock-string-face legt die Farbe von Zeichenketten fest. Dazu gehören beispielsweise Texte innerhalb von einfachen oder doppelten Anführungszeichen:
echo "Hallo Welt"
Die Zeichenketten werden hier in einem hellen Blau dargestellt.
Kommentare
'(font-lock-comment-face
((t (:foreground "#d0d0d0"))))
Mit font-lock-comment-face werden Kommentare formatiert:
# Dieser Kommentar ist gut lesbar
Die hellgraue Farbe sorgt dafür, dass Kommentare auf einem dunklen Hintergrund nicht zu schwach erscheinen.
Funktionsnamen
'(font-lock-function-name-face
((t (:foreground "#ffaf5f"
:weight bold))))
Dieses Face betrifft die Namen von Funktionen, zum Beispiel:
meine_funktion() {
echo "Test"
}
Die Funktionsnamen erscheinen hellorange. Durch :weight bold werden sie zusätzlich fett dargestellt.
Variablen
'(font-lock-variable-name-face
((t (:foreground "#5fd7d7"))))
Mit font-lock-variable-name-face wird die Darstellung von Variablennamen angepasst:
dateiname="bericht.txt"
echo "$dateiname"
Die Variablen werden in einem hellen Türkis angezeigt.
Änderungen aktivieren
Nachdem die Konfiguration gespeichert wurde, kann sie ohne Neustart von Emacs geladen werden:
- Die Konfigurationsdatei in Emacs öffnen.
M-x eval-bufferausführen.- Ein geöffnetes Bash-Skript gegebenenfalls schließen und erneut öffnen.
Alternativ kann Emacs einfach neu gestartet werden.
Die verwendeten Farben sind als Hexadezimalwerte angegeben. Sie können leicht angepasst werden, beispielsweise durch Ersetzen von #87d7ff oder #5fd7d7 durch einen anderen Farbwert.