(X)emacs - Kurzanleitung |
Übersicht |
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.
Laden und Speichern |
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 |
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 |
[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. |
[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. |
[Ctrl]+[T] | ||
Vertauscht das Zeichen unter dem Cursor mit dem Zeichen links davon. | ||
[Alt]+[T] | ||
Vertauscht zwei Wörter:
|
||
[Ctrl]+[U] | ||
Letzte Vertauschung rückgängig machen. | ||
[Ctrl]+[X],[Ctrl]+[T] | ||
Vertauscht die aktuelle Zeile mit der nachfolgenden. |
Suchen und Ersetzen 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). |
Ä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). |
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 SuchmusterSpezialitäten |
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.
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. |
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. |
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]
.
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. |
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 |
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.
Ü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.