18.10Konfiguration

Wohl kein anderer Editor bietet mehr Konfigurationsmöglichkeiten als der Emacs. Dieser Abschnitt gibt zuerst einen Überblick über die Konfigurationsdateien und beschreibt dann einige elementare Konfigurationsschritte.

Wenn sich Ihre Emacs-Version anders verhält, als in diesem Buch beschrieben wird, dann ist oft die Konfiguration Ihrer Linux-Distribution verantwortlich. Die Einstellungen können sich sowohl in den persönlichen als auch in den globalen Konfigurationsdateien (site-start.el) befinden. Beachten Sie insbesondere, dass bei vielen Distributionen beim Anlegen neuer Linux-Benutzer automatisch Konfigurationsdateien aus /etc/skel in das Benutzerverzeichnis kopiert werden!

Die benutzerspezifische Konfiguration kann wahlweise durch Menükommandos (Options-Menü) oder durch eine direkte Veränderung der Konfigurationsdateien .emacs durchgeführt werden.

Neben den persönlichen Konfigurationsdateien gibt es auch globale Konfigurationsdateien, deren Einstellungen für alle Benutzer gelten. Diese Dateien enthalten je nach Distribution diverse Voreinstellungen.

/usr/share/emacs/site-lisp/site-start.el /usr/share/emacs/site-lisp/debian-startup.el (Debian, Ubuntu) /usr/share/emacs/site-lisp/site-start.d/* (Red Hat, Fedora) /usr/share/emacs/site-lisp/site-start.el (SUSE)

Beim Emacs können Sie einige elementare Einstellungen direkt über Einträge des Options-Menüs vornehmen. Damit beispielsweise der Schiebebalken wie in allen anderen Programmen auf der rechten Seite angezeigt wird, führen Sie Options • Show/Hide • Scrollbar • On the Right aus. Die Einstellungen werden sofort wirksam, gehen aber verloren, wenn Sie den Emacs verlassen. Um geänderte Einstellungen bleibend in .emacs zu speichern, müssen Sie Options • Save Options ausführen!

Alle weitergehenden Einstellmöglichkeiten, von denen es Tausende gibt, sind über Options • Customize Emacs • Top-level Customization Group erreichbar (siehe Abbildung 18.2). Dieses Kommando öffnet einen neuen Emacs-Puffer, der wie ein Dialog aussieht. Die Buttons dieser Seite führen zu weiteren Dialogen für verschiedene Gruppen von Optionen. Auf jeder Seite können Sie durch Buttons alle durchgeführten Änderungen nur bis zum Programmende oder bleibend in .emacs speichern (Set for Current Session bzw. Save for Future Sessions).

Emacs-Konfiguration

Abbildung 18.2Emacs-Konfiguration

Die Bedienung der Dialogoptionen ist nicht schwierig. Das Problem besteht aber darin, dass die Dialoge tief verschachtelt sind und es nicht immer ganz einfach ist, den richtigen Dialog für eine bestimmte Option zu finden.

Am schnellsten kann die Schriftart hier mit (ª) und der linken Maustaste eingestellt werden. Allerdings besteht keine Möglichkeit, diese Einstellung auch zu speichern. Alternativ können Sie die Standardschrift auch mit Options • Customize • Specific Face einstellen, wobei Sie die Schrift default auswählen. Im nun erscheinenden Dialog können Sie sowohl die Schriftfamilie als auch die Schriftgröße (Height) einstellen. Falls dem Namen der Schrift deren Hersteller vorangestellt wird, muss dies mit einem Bindestrich erfolgen (z.B. Adobe-Courier). An dieser Stelle können Sie auch die Hintergrundfarbe des Emacs einstellen: Geben Sie einfach im Background-Feld der Schriftart default den Namen der gewünschten Farbe an (z.B. Lightgrey).

Mit Set for Current Session können Sie Ihre Einstellungen ausprobieren. Der Schriftwechsel dauert einige Sekunden und führt dazu, dass auch die Fenstergröße von Emacs verändert wird. Mit Save for Future Sessions wird die Einstellung in .emacs gespeichert.

Anstatt sich durch verschachtelte Dialoge zu klicken, können Sie die Konfiguration auch direkt in .emacs durchführen. Der Platz reicht hier nicht für eine ausführliche Beschreibung aus. Stattdessen gibt das folgende kommentierte Listing einige Beispiele für beliebte Optionen und Einstellungen. Bei manchen Linux-Distributionen gelten einige dieser Einstellungen standardmäßig.

;Beispiel für .emacs ;kein Begrüßungsbildschirm (setq inhibit-startup-message t) ;Zeilen- und Spaltennummer in der Statuszeile anzeigen (line-number-mode 1) (column-number-mode 1) ;markierten Textbereich sichtbar machen (setq-default transient-mark-mode t) ;mit <Tab> Leerzeichen statt Tabulatoren einfügen (setq-default indent-tabs-mode nil) ;letzte Zeile automatisch mit Newline-Code abschließen (setq require-final-newline t) ;Syntaxhervorhebung automatisch aktivieren (global-font-lock-mode t) ;Cursorposition speichern (require 'saveplace) (setq-default save-place t) ;AUC TEX aktivieren (das ist ein erweiterter LaTeX-Modus; ;das auctex-Paket muss separat installiert werden!) (require 'tex-site) ; eigene Funktion; vertauscht den Buchstaben (defun swap-char() ;zwei Buchstaben an der Cursor-Position (interactive) ;vertauschen: (save-excursion (forward-char) (transpose-chars 1))) ; ein paar Tastaturkürzel: (global-set-key [f2] 'switch-to-buffer) ;Buffer wechseln (global-set-key [f3] 'goto-line) ;zur Zeile n springen (global-set-key [f4] 'advertised-undo) ;Undo-Funktion (global-set-key [f5] 'swap-char) ;Buchstaben vertauschen

Noch viel mehr Konfigurationsmöglichkeiten haben Sie, wenn Sie sich auf die Emacs-Lisp-Programmierung einlassen. Damit können Sie in der Konfigurationsdatei .emacs eigene Kommandos, Tastenkürzel etc. definieren. Schauen Sie sich dazu http://www.dotemacs.de an.