(X)emacs - Kurzanleitung

Übersicht Weiter

Die folgende Kurzanleitung für den Gebrauch des (x)emacs beschreibt die wichtigsten Tastenkombinationen zur Bedienung des Editors, so wie sie zum Bearbeiten von Texten benötigt werden. Einige Spezialitäten zur Unterstützung des LaTeX- und TeX-Modus werden genauer erläutert.

»Der Emacs kann alles!« ist keine übertriebene Aussage. Bei entsprechender Konfiguration lässt er sich als Mail-und News-Reader, als grafisches Frontend für den Debugger gdb oder als Browser für die info-Seiten einsetzen. Außerdem kommt der Emacs mit einer kleinen Spielesammlung daher...

Startbildschirm des Xemacs

Abbildung 1: Startbildschirm des Xemacs

Hinweis: Alle nachfolgenden Tastenkombinationen funktionieren nur bei korrekter Konfiguration des Emacs. Standardmäßig verwendet der Nutzer root eine andere Konfiguration, die die wenigsten der nachfolgenden Möglichkeiten unterstützt.

Laden und Speichern Zurück Anfang Weiter

Nachfolgende Tabelle enthält die verfügbaren Tastenkombinationen zum Speichern und Laden von Dateien, sowie zum Verlassen von Emacs. Anstelle mancher Tastenkombinationen können in der X-Variante auch die entsprechenden Menüeinträge verwendet werden:

[Ctrl]+[X],[Ctrl]+[F] Datei [Enter]
         Datei laden.
[Ctrl]+[X],[4],[F] Datei [Enter]
         Datei in neuem Fenster öffnen.
[Ctrl]+[X],[I] Datei [Enter]
         Datei unter Cursor einfügen.
[Ctrl]+[X],[Ctrl]+[S]
         Datei speichern.
[Ctrl]+[X],[Ctrl]+[W] Datei [Enter]
         Datei als »Datei« speichern.
[Ctrl]+[X],[S]
         Alle geöffneten Dateien speichern.
[Ctrl]+[X],[Ctrl]+[C]
         (x)emacs beenden.
[Ctrl]+[Z]
         (x)emacs unterbrechen, Fortsetzung mit %(x)emacs

Positionierung des Cursors Zurück Anfang Weiter

Die angegebenen Tastaturkommandos betreffen den Vi-Modus!

^
         Positioniert Cursor auf das erste Zeichen der aktuellen Zeile.
0
         Positioniert Cursor auf die erste Spalte der aktuellen Zeile.
$
         Positioniert Cursor auf das letzte Zeichen der aktuellen Zeile.
h
         Rückt den Cursor um ein Zeichen nach links.
l
         Rückt den Cursor um ein Zeichen nach rechts.
k
         Positioniert den Cursor um eine Zeile nach oben.
j
         Positioniert den Cursor um eine Zeile nach unten.
w
         Setzt den Cursor an den Anfang des nächsten Wortes.
b
         Setzt den Cursor an den Anfang des vorhergehenden Wortes.
e
         Setzt den Cursor an das Ende des aktuellen Wortes.
[Ctrl] n
         Setzt Cursor auf die gleiche Spalte auf der nächsten Zeile.
[Ctrl] p
         Setzt Cursor auf die gleiche Spalte auf der vorhergehenden Zeile.
nG
         Setzt Cursor auf die n-te Zeile des Dokuments.
+
         Positioniert auf Textanfang der nächsten Zeile.
-
         Positioniert auf Textanfang der vorhergehenden Zeile.
H
         Setzt den Cursor auf erste Zeile des Bildschirms.
M
         Setzt den Cursor auf mittlere Zeile des Bildschirms.
L
         Setzt den Cursor auf letzte Zeile des Bildschirms.
(
         Setzt Cursor auf den Anfang des aktuellen Satzes.
)
         Setzt Cursor auf das Ende des aktuellen Satzes.
{
         Setzt Cursor auf den Anfang des aktuellen Absatzes.
}
         Setzt Cursor auf das Ende des aktuellen Absatzes.

Text markieren, löschen, einfügen Zurück Anfang Weiter

Löschen von Text

[Ctrl]+[D]
         Löscht ein Zeichen des Wortes rechts ab Cursor.
[Ctrl]+[=]
         Löscht ein Zeichen des Wortes links ab Cursor.
[Ctrl]+[K]
         Löscht ab Cursor bis Zeilenende.
[Ctrl]+[0],[Ctrl]+[K]
         Löscht vom Zeilenanfang bis Cursor.
[Alt]+[M]
         Löscht den nächsten Absatz.
[Alt]+[Z]xxx
         Löscht alle Zeichen von Cursorposition bis zum ersten Auftreten von xxx.
[Ctrl]+[Y]
         Fügt zuletzt gelöschten Text ab Cursor ein.

Markieren von Text

[Ctrl]+[Leertaste]
         Setzt Markierung.
[Ctrl]+[X][R],[S] Register [Enter]
         Speichert Text zwischen Markierung und Cursor im Register »Register«.
[Ctrl]+[X][R],[I] Register [Enter]
         Fügt Inhalt des Registers »Register« ab Cursorposition ein.

Vertauschen von Text

[Ctrl]+[T]
         Vertauscht das Zeichen unter dem Cursor mit dem Zeichen links davon.
[Alt]+[T]
         Vertauscht zwei Wörter:
  • Steht der Cursor am Wortanfang, wird das Wort mit dem vorhergehenden vertauscht.
  • Steht der Cursor mitten im Wort, wird dieses mit dem nachfolgenden Wort vertauscht.
[Ctrl]+[U]
         Letzte Vertauschung rückgängig machen.
[Ctrl]+[X],[Ctrl]+[T]
         Vertauscht die aktuelle Zeile mit der nachfolgenden.

Suchen und Ersetzen von Text Zurück Anfang Weiter

Suchen von Text

[Ctrl]+[S]
         Suche vorwärts, wiederholte Eingabe von [Ctrl]+[S] wechselt zum nächsten Muster. 
[Ctrl]+[R]
         Suche rückwärts.
[Alt]+[P]
         Wählt früher verwendeten Suchtext aus (vorherigen).
[Alt]+[N]
         Wählt früher verwendeten Suchtext aus (nächsten).
[Ctrl]+[G]
         Abbruch der Suche.
[Ctrl]+[Alt]+[S]
         Suche nach Muster vorwärts (siehe nachfolgende Tabelle).
[Ctrl]+[Alt]+[R]
         Suche nach Muster rückwärts (siehe nachfolgende Tabelle).

Suche mit Wildcards

Ähnlich zum Mechanismus der Bash erlaubt der (x)emacs das Suchen nach Mustern mit bestimmten Jokerzeichen. Zum Beispiel findet [Ctrl]+[Alt]+[S] \] Taste ein Wort, das mit Taste beginnt. Einige Musterkombinationen sind in folgender Tabelle aufgeführt:
 

\>
         Sucht am Wortanfang.
\<
         Sucht am Wortende.
~
         Sucht am Zeilenanfang.
$
         Sucht am Zeilenende.
.
         Platzhalter für ein beliebiges Zeichen.
.*
         Platzhalter für beliebig viele (auch Null) beliebige Zeichen.
.+
         Platzhalter für beliebig viele (nicht Null) beliebige Zeichen.
.?
         Platzhalter für 0 oder ein beliebiges Zeichen.
[abc]
         Platzhalter für eines der in Klammern eingeschlossenen Zeichen.
[^abc]
         Platzhalter für alle Zeichen außer den in Klammern eingeschlossenen.
\(
         Beginn einer Gruppe.
\)
         Ende einer Gruppe.
\Sonderzeichen
         Suche nach »Sonderzeichen« (das dem Slash folgende Zeichen verliert seine Sonderbedeutung).

Ersetzen von Text

Zum Suchen und Ersetzen von Text stehen zwei Kommandos zur Verfügung:

  1. [ESC]+[%] sucht ein Muster und ersetzt es durch ein anderes, jede Ersetzung muss durch [Y] bestätigt bzw. durch [N] verworfen werden
  2. [Alt] query-replace-r [Enter] arbeitet wie das obige Verfahren, erlaubt aber die Eingabe von Jokerzeichen im Suchmuster
Spezialitäten Zurück Anfang Weiter

Um die Beschreibung nicht unendlich auszudehnen (allein die Beschreibung der Emacs-Konfiguration mittels LISP umfasst mehrere hundert Seiten), soll hier nur eine Beschreibung ausgewählter Modi erfolgen.




Die Bearbeitungsmodi des emacs

Der emacs unterstützt für verschiedene Texttypen spezielle Modi, die weitere spezifische Funktionalitäten (z.B das Syntax-Highlighting) definieren.

Einige Modi sind (anhand der Dateikennung kann der Emacs oft die entsprechenden Modi selbst erkennen):

[Alt]+[X] fundamental-mode [Enter]
         Standardmodus.
[Alt]+[X] indended-text-mode [Enter]
         Fließtextmodus.
[Alt]+[X] tex-mode [Enter]
         TeX-Modus.
[Alt]+[X] latex-mode [Enter]
         LaTeX-Modus.
[Alt]+[X] c-mode [Enter]
         C-Modus.
[Alt]+[X] tcl-mode [Enter]
         Tcl-Modus.
[Alt]+[X] font-lock-mode [Enter]
         Aktivieren von Syntax-Highlighting.

TeX-und LaTeX-Modus

Die wichtigsten zusätzlichen Funktionen sind:

[Ctrl]+[C],[Ctrl]+[E]
         Erzeugt eine Umgebung »\begin{name} - \end{name}«; verlangt die Umgebung Optionen und Parameter, wird zur Angabe dieser aufgefordert.
[Ctrl]+[C],[}]
         Springt zur abschließenden Klammer der aktuellen Umgebung.
[Ctrl]+[J]
         Ende eines Absatzes, ein Syntaxtest für den Absatz wird durchgeführt.

Die Emulation anderer Editoren

Alle bisher beschriebenen Kommandos arbeiten im "normalen" Modus. Der Emacs unterstützt ebenso die Emulation der Editoren EDT (Dec VMS Editor) und des Vi (in mehreren Varianten).

Um z.B. den Viper-Modus zu benutzen, gibt man im emacs Folgendes ein:

M-x viper-mode

M-x (sprich: Meta-x) bedeutet dabei das gleichzeitige Drücken der Tasten [Alt][x].

Abkürzungen

Für immer wiederkehrenden (lange) Textpassagen kann eine Abkürzung definiert werden, die bei entsprechender Einstellung des Emacs dann automatisch zum vollen Text expandiert wird. Bevor wir ein Beispiel betrachten, seien die verschiedenen Möglichkeiten in Zusammenhang mit Abkürzungen aufgelistet:

[Ctrl]+[X],[A],[G] Text [Enter]
         Definiert zum zuvor eingegebenen Text eine global gültige Abkürzung.
[Ctrl]+[X],[A],[E]
         Manuelle Expansion einer Abkürzung.
[Alt]+[X]  abbrev-mode [Enter]
         Aktiviert die automatische Expansion.
[Alt]+[X]  edit-abbrevs [Enter]
         Abkürzungstabelle editieren.
[Alt]+[X]  write-abbrev-file [Enter]
         Speichern der Abkürzungsdatei.
[Alt]+[X]  read-abbrev-file [Enter]
         Laden der Abkürzungsdatei.
[Ctrl]+[X],[Ctrl]+[S],[Ctrl]+[X],[B][Enter]
         Zuvor editierte Abkürzungsdatei emacs-intern speichern.

Beispiel zur Definition von Abkürzungen

Um eine Abkürzung für den Text \subsection{ zu definieren geben wir diesen auf einer neuen Zeile ein und betätigen die Tastenkombination [Ctrl]+[X],[A],[I],[G].

Durch Eingabe von sbc [Enter] definieren wir sbc als Abkürzung für \subsection{.

Ist die automatische Expansion aktiv ([Alt]+[X] abbrev-mode [Enter]), wird bei einer nachfolgenden Eingabe von sbc [Leertaste] der Text automatisch vervollständigt.

Der Text der Abkürzung sollte kein Bestandteil eines Wortes sein!

Sonstiges Zurück Anfang

Emacs als Newsreader

In der X-Variante muss nur der verwendete Newsserver eingetragen werden:

Options Customize Emacs Applications News Gnus Server.

Alternativ lässt sich in der Datei ~/.emacs eine Zeile in der Art

(setq nntp-address "news.irgendwo.de")

aufnehmen.

Aufruf der Kommandos

Über die Tastenkombination

[Alt]+[X]command [Enter]

können alle Modi, Kommandos usw. erreicht werden.

Z.B. startet

[Alt]+[X]compile[Enter]

den Kompilierungsvorgang.

Mit »[Alt]+[X],[Tab]« werden alle Möglichkeiten (einige hundert) aufgelistet.