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...
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.
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 |
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. |
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 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:
[ESC]+[%] sucht ein Muster und ersetzt es durch ein anderes, jede
Ersetzung muss durch [Y] bestätigt bzw. durch [N]
verworfen werden
[Alt] query-replace-r [Enter] arbeitet wie das obige Verfahren,
erlaubt aber die Eingabe von Jokerzeichen im Suchmuster
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 (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!
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
können alle Modi, Kommandos usw. erreicht werden.
Z.B. startet
den Kompilierungsvorgang.
Mit »[Alt]+[X],[Tab]« werden alle Möglichkeiten (einige hundert) aufgelistet.
|