mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-12-15 09:47:20 +00:00
1510 lines
65 KiB
Plaintext
1510 lines
65 KiB
Plaintext
Einführung in Emacs. Siehe Dateiende für Vervielfältigungsbedingungen.
|
|
|
|
Emacs-Befehle beinhalten im allgemeinen die CONTROL-Taste (manchmal
|
|
auch als CTRL, CTL oder STRG beschriftet) sowie die META-Taste (auch
|
|
EDIT oder ALT genannt). Folgende Abkürzungen werden verwendet:
|
|
|
|
C-<Zeichen> bedeutet, dass die CONTROL-Taste gedrückt sein muss,
|
|
während man das Zeichen <Zeichen> eingibt. Beispiel:
|
|
C-f Halten Sie die CONTROL-Taste gedrückt und drücken
|
|
Sie dann die f-Taste.
|
|
M-<Zeichen> bedeutet, dass die META-Taste gedrückt sein muss,
|
|
während man das Zeichen <Zeichen> eingibt. Statt dessen
|
|
kann man auch die ESC-Taste und anschließend <Zeichen>
|
|
drücken (hintereinander, nicht gleichzeitig). Beispiel:
|
|
M-f Halten Sie die META-Taste gedrückt und geben
|
|
Sie den Buchstaben (klein) f ein.
|
|
|
|
`>>' am linken Rand ist ein Hinweis, einen Befehl auszuprobieren:
|
|
<<Blank lines inserted here by startup of help-with-tutorial>>
|
|
[Leerzeilen befinden sich hier aus didaktischen Gründen. Fortsetzung unten.]
|
|
>> Drücken Sie C-v, um zur nächsten Bildschirmseite vorzublättern.
|
|
Ab jetzt sollten Sie das stets tun, wenn Sie eine Seite fertig
|
|
gelesen haben.
|
|
|
|
Beachten Sie bitte, dass beim Blättern die untersten zwei Zeilen der
|
|
vorigen Bildschirmseite als die zwei obersten Zeilen der neuen Seite
|
|
erscheinen, um eine gewisse Kontinuität während des Lesens zu
|
|
ermöglichen.
|
|
|
|
Wichtig: Sie können Emacs mit der Befehlsfolge C-x C-c beenden.
|
|
|
|
Im weiteren wird die ESC-Taste mit <ESC> bezeichnet.
|
|
|
|
[Falls die deutschen Umlaute nicht korrekt auf dem Bildschirm
|
|
erscheinen, lesen Sie bitte den Abschnitt `MULE' kurz vor Ende dieser
|
|
Einführung.]
|
|
|
|
Zunächst müssen Sie wissen, wie man sich innerhalb eines Dokuments
|
|
bewegen kann. Wie man eine Bildschirmseite vorwärts blättert, wissen
|
|
Sie schon (C-v). Mit M-v blättern Sie eine Bildschirmseite zurück
|
|
(halten Sie die META-Taste gedrückt und geben Sie v ein, oder drücken
|
|
Sie zuerst <ESC> und anschließend v).
|
|
|
|
>> Probieren Sie einige Male M-v und C-v aus.
|
|
|
|
[Auf den meisten Tastaturen bewirkt die PgUp-Taste (`page up', auch
|
|
mit `Bild' und einem Aufwärtspfeil beschriftet) dasselbe wie M-v bzw.
|
|
die PgDn-Taste (`page down', `Bild' mit Abwärtspfeil) dasselbe wie
|
|
C-v.]
|
|
|
|
|
|
* ZUSAMMENFASSUNG
|
|
-----------------
|
|
|
|
Die folgenden Befehle sind nützlich, um Text bildschirmweise zu
|
|
betrachten:
|
|
|
|
C-v eine Seite vorwärts blättern
|
|
M-v eine Seite zurück blättern
|
|
C-l lösche den Bildschirm und stelle den ganzen Text
|
|
erneut dar, wobei der Text rund um den Cursor zur
|
|
Mitte des Bildschirms bewegt wird.
|
|
(`l' ist der Buchstabe `klein L', nicht die Ziffer 1.)
|
|
|
|
|
|
>> Lokalisieren Sie den Cursor und merken sich den Text in dessen
|
|
Umgebung. Drücken Sie C-l. Der Cursor ist jetzt ungefähr in der
|
|
(vertikalen) Bildschirmmitte, und er hat seine Position relativ zum
|
|
Text nicht geändert.
|
|
|
|
|
|
* KONTROLLE DES CURSORS
|
|
-----------------------
|
|
|
|
Text bildschirmweise anzuschauen ist sicherlich praktisch, aber wie
|
|
kommt man zu einer bestimmten Position innerhalb des gerade
|
|
dargestellten Textes?
|
|
|
|
Es gibt verschiedene Möglichkeiten. Die Grundbefehle sind C-p, C-b,
|
|
C-f und C-n. Dem folgenden Diagramm können Sie entnehmen, welcher
|
|
Befehl den Cursor wohin bewegt:
|
|
|
|
|
|
vorige Zeile, C-p
|
|
:
|
|
:
|
|
zurück, C-b .... momentane Cursor-Position .... vorwärts, C-f
|
|
:
|
|
:
|
|
nächste Zeile, C-n
|
|
|
|
|
|
[Die Buchstaben p, b, f und n stehen für die englischen Wörter
|
|
`previous', `backward', `forward' und `next'.]
|
|
|
|
>> Bewegen Sie den Cursor zur Zeile in der Mitte des Diagramms mittels
|
|
C-n oder C-p. Geben Sie dann C-l ein, und das ganze Diagramm ist
|
|
zentriert auf dem Bildschirm.
|
|
|
|
Normalerweise sind die vier Pfeiltasten mit den Cursor-Grundbefehlen
|
|
belegt. Falls nicht, sollten Sie Ihre Terminalkonfiguration
|
|
überprüfen.
|
|
|
|
Es ist von großer Wichtigkeit, sich mit obigen Cursor-Befehlen
|
|
vertraut zu machen, da man sie ständig braucht (besonders wenn man mit
|
|
Terminal-Emulationen arbeitet, welche die Pfeiltasten nicht
|
|
unterstützen).
|
|
|
|
>> Drücken Sie ein paarmal C-n, um den Cursor zu dieser Zeile zu
|
|
bewegen.
|
|
|
|
>> Bewegen Sie den Cursor vorwärts mittels C-f und nach oben mit C-p.
|
|
Beobachten Sie, was C-p tut, wenn der Cursor sich in der
|
|
Zeilenmitte befindet.
|
|
|
|
Jede Textzeile endet mit einem Zeilenvorschub-Zeichen (`newline'), das
|
|
sie von der folgenden Zeile trennt.
|
|
|
|
>> Probieren Sie C-b am Anfang einer Zeile. Der Cursor sollte zum
|
|
Ende der vorigen Zeile springen: C-b überspringt
|
|
Zeilenvorschub-Zeichen.
|
|
|
|
C-f überspringt Zeilenvorschub-Zeichen analog zu C-b.
|
|
|
|
>> Drücken Sie noch ein paarmal C-b, um ein Gefühl für den Cursor zu
|
|
bekommen. Bewegen sie anschließend den Cursor mittels C-f zum Ende
|
|
der Zeile. Geben Sie jetzt noch einmal C-f ein, um zur nächsten
|
|
Zeile zu springen.
|
|
|
|
>> Falls die Pfeiltasten funktionieren, können Sie mit diesen das
|
|
gleiche probieren und üben.
|
|
|
|
Wenn Sie den Cursor entweder nach oben oder nach unten über den
|
|
Bildschirmrand hinaus bewegen wollen, dann wird statt dessen Text in
|
|
den Bildschirm hineingeschoben. Dies nennt man `scrolling'. Auf
|
|
diese Weise verhindert Emacs, dass der Cursor je den sichtbaren
|
|
Bereich verlässt.
|
|
|
|
>> Versuchen Sie den Cursor über den unteren Bildschirmrand hinaus zu
|
|
bewegen und beobachten Sie, was geschieht.
|
|
|
|
Wenn zeichenweise Cursorbewegung zu langsam ist, kann man den Cursor
|
|
wortweise bewegen. M-f (META-f) bewegt den Cursor ein Wort vor, und
|
|
M-b ein Wort zurück.
|
|
|
|
>> Geben Sie ein paarmal M-f und M-b ein.
|
|
|
|
Befinden Sie sich in der Mitte eines Wortes, bewegt M-f den Cursor zum
|
|
Ende des Wortes. Befinden Sie dagegen sich in einem Wortzwischenraum,
|
|
bewegt M-f den Cursor zum Ende des nächsten Wortes. M-b arbeitet
|
|
analog, aber in die entgegengesetzte Richtung.
|
|
|
|
>> Kombinieren Sie M-f und M-b mit den Befehlen C-f und C-b, um die
|
|
Cursorbewegung von verschiedenen Positionen aus innerhalb und
|
|
zwischen Wörtern zu beobachten.
|
|
|
|
Beachten Sie die Parallele zwischen C-f und C-b einerseits und M-f und
|
|
M-b andererseits. Sehr oft werden mit `META-' beginnende Befehle für
|
|
Operationen verwendet, die mit Sprache zu tun haben (Wörter, Sätze,
|
|
Absätze), während CONTROL-Befehle mit den Text-Basiseinheiten
|
|
operieren, unabhängig davon, was Sie gerade editieren (Zeichen,
|
|
Buchstaben, Zeilen etc).
|
|
|
|
Ein anderes Beispiel: C-a und C-e bewegt den Cursor zum Anfang
|
|
bzw. zum Ende einer Zeile, wohingegen M-a und M-e den Cursor zum
|
|
Anfang bzw. zum Ende eines Satzes springen lässt.
|
|
|
|
>> Probieren Sie ein paarmal C-a und C-e.
|
|
Probieren Sie dann ein paarmal M-a und M-e.
|
|
|
|
Beachten Sie, dass ein wiederholtes Drücken von C-a nichts bewirkt,
|
|
dagegen M-a den Cursor satzweise zurücksetzt. Hier endet die
|
|
Analogie, jedoch ist das Verhalten dieser Befehle leicht
|
|
nachvollziehbar.
|
|
|
|
[Anmerkung 1: Im Deutschen kommt laut Duden nach einem Punkt nur ein
|
|
Leerzeichen. Falls Sie aber Texte schreiben, die weiter verarbeitet
|
|
werden (z.B. durch ein Textformatierprogramm wie TeX), dann sollten
|
|
Sie sich angewöhnen, nach einem Satzende stets ZWEI Leerzeichen zu
|
|
lassen. Dadurch ermöglichen Sie u.a., dass Emacs zwischen
|
|
Abkürzungspunkten und dem Satzende unterscheiden kann, was für
|
|
Textsuche in wissenschaftlichen Texten oft vorteilhaft ist.]
|
|
|
|
[Anmerkung 2: Die Tasten `Home' (Pos1) und `End' (Ende) verhalten sich
|
|
standardmäßig wie C-a und C-e, wie wohl die meisten Benutzer
|
|
annehmen.]
|
|
|
|
Die aktuelle Position des Cursors wird im Englischen auch `point'
|
|
(Punkt) genannt. Beachten Sie bitte, dass sich `point' stets
|
|
*zwischen* zwei Zeichen befindet, nämlich genau vor dem
|
|
Cursor-Kästchen.
|
|
|
|
Hier ist eine Zusammenfassung von einfachen Bewegungsbefehlen für den
|
|
Cursor einschließlich der Wort- und Satzbewegungsbefehle:
|
|
|
|
C-f ein Zeichen vorwärts (auch `Pfeil rechts'-Taste)
|
|
C-b ein Zeichen zurück (auch `Pfeil links'-Taste)
|
|
|
|
M-f ein Wort vorwärts
|
|
M-b ein Wort zurück
|
|
|
|
C-n eine Zeile vorwärts (auch `Pfeil hinunter'-Taste)
|
|
C-p eine Zeile zurück (auch `Pfeil hinauf'-Taste)
|
|
|
|
C-a zum Zeilenanfang
|
|
C-e zum Zeilenende
|
|
|
|
M-a zum Satzanfang
|
|
M-e zum Satzende
|
|
|
|
>> Probieren Sie diese Befehle jetzt ein paarmal zur Übung.
|
|
Es sind die meistverwendeten Befehle innerhalb Emacs.
|
|
|
|
Zwei weitere wichtige Befehle für die Cursorbewegung sind M-< (META
|
|
Kleiner-als) und M-> (META Größer-als), welche zum Anfang bzw. zum
|
|
Ende des ganzen Textes springen.
|
|
|
|
Bei den meisten Terminal-Tastaturen befindet sich `<' über dem Komma,
|
|
d.h., Sie müssen zusätzlich die SHIFT-Taste verwenden (der Umschalter
|
|
ist auf deutschen Tastaturen normalerweise mit einem dicken
|
|
Aufwärtspfeil markiert). Ohne SHIFT-Taste würden Sie M-Komma
|
|
eingeben.
|
|
|
|
>> Testen Sie nun M-<, um an den Anfang der Einführung
|
|
zu gelangen. Verwenden Sie dann C-v, um wieder hierher zu kommen.
|
|
|
|
[Anmerkung: Die Tastenkombinationen `C-Home' (Pos1) und `C-End' (Ende)
|
|
verhalten sich standardmäßig wie M-< und M->.]
|
|
|
|
Ein weiteres, oft benütztes Konzept in Emacs ist die Markierung
|
|
(`mark'). Der Grundbefehl dazu ist C-SPC (oder gleichwertig C-@,
|
|
`SPC' bezeichnet die Leertaste, engl. `space key'); mit ihm kann eine
|
|
Markierung gesetzt werden. Mit C-u C-SPC kommt man zu dieser
|
|
Markierung zurück, falls man den Cursor inzwischen weiterbewegt hat.
|
|
Viele Befehle, die große Sprünge in einem Text ausführen (so auch M->
|
|
und M-<) setzen eine Markierung implizit, was in der untersten Zeile
|
|
(dem Echobereich, s.u.) als `Mark set' angezeigt wird.
|
|
|
|
>> Verwenden Sie jetzt M->, um zum Ende der Einführung
|
|
zu springen und benützen Sie C-u C-SPC, um hierher zurückzukehren.
|
|
|
|
Markierungen werden in einem Ring gespeichert (d.h., die zuletzt in
|
|
den Ring eingehängte Markierung wird als erste zurückgeholt und wie
|
|
bei einem Schlüsselbund am Ende wieder in den Ring eingefügt). Mit
|
|
C-u C-SPC können Sie Stück für Stück alle Markierungen im
|
|
Markierungsring ansteuern.
|
|
|
|
>> Drücken Sie hier C-SPC, gehen Sie dann zu verschiedenen Positionen
|
|
innerhalb dieses Dokuments und verwenden Sie C-SPC, um weitere
|
|
Markierungen zu setzen. Geben Sie anschließend C-u C-SPC so oft
|
|
ein, bis Sie wieder an dieser Position angelangt sind.
|
|
|
|
Die meisten Emacs-Befehle akzeptieren ein numerisches Argument, das in
|
|
der Regel als Wiederholungszähler dient (d.h., wie oft der Befehl
|
|
ausgeführt werden soll). Eingegeben wird diese Zahl mit C-u, dann die
|
|
Ziffern und dann der Befehl selbst. Alternativ können Sie die
|
|
META-Taste (bzw. EDIT- oder ALT-Taste) gedrückt halten und dann die
|
|
Ziffern des Wiederholungszählers eingeben. Wir empfehlen allerdings,
|
|
die C-u-Methode zu lernen, da sie mit jedem Terminal funktioniert.
|
|
Das numerische Argument wird auch `Präfix-Argument' genannt, da man es
|
|
vor dem zugehörigen Befehl eingibt.
|
|
|
|
Beispiel: C-u 8 C-f bewegt den Cursor acht Zeichen vorwärts.
|
|
|
|
>> Versuchen Sie, C-n oder C-p mit einem numerischen Argument zu
|
|
verwenden und bewegen Sie den Cursor mit nur einem Befehl ungefähr
|
|
hierher.
|
|
|
|
Wie gesagt, die meisten Befehle verwenden das numerische Argument als
|
|
Wiederholungszähler, jedoch nicht alle. Einige davon, die allerdings
|
|
noch nicht besprochen wurden, benützen es als Flag (`Flagge'), d.h.,
|
|
allein das Vorhandensein eines Präfix-Arguments, unabhängig von seinem
|
|
Wert, signalisiert dem Befehl, etwas anderes zu tun.
|
|
|
|
C-v und M-v sind weitere Ausnahmen. Gibt man diesen Befehlen einen
|
|
Parameter n, dann verschieben sie den Bildschirminhalt nicht um eine
|
|
ganze Bildschirmseite, sondern um n Zeilen. Beispiel: C-u 4 C-v
|
|
verschiebt den Bildschirminhalt um vier Zeilen.
|
|
|
|
>> Versuchen Sie jetzt C-u 8 C-v auszuführen.
|
|
|
|
Der Bildschirminhalt sollte jetzt um acht Zeilen nach oben verschoben
|
|
sein. Wollen Sie ihn nach unten verschieben, dann geben Sie M-v mit
|
|
einem numerischen Argument ein.
|
|
|
|
Wenn Sie eine graphische Oberfläche wie X11 oder MS-Windows verwenden,
|
|
dann befindet sich ein schmaler, langgezogener rechteckiger Bereich auf
|
|
der linken oder rechten Seite des Emacs-Fensters. Dieser Bereich
|
|
wird Scrollbar genannt (`Verschiebungsbalken'). Sie können Text
|
|
verschieben, indem Sie mit der Maus auf den Scrollbar klicken.
|
|
|
|
>> Drücken Sie die mittlere Taste (oder die linke und rechte Taste
|
|
gleichzeitig, falls Sie eine Zwei-Tasten-Maus verwenden) innerhalb
|
|
des Scrollbar-Bereichs. Das sollte den Text zu einer Position
|
|
verschieben, die davon abhängt, wie weit oben oder unten Sie
|
|
geklickt haben.
|
|
|
|
>> Bewegen Sie nun die Maus auf und ab, während Sie die mittlere Taste
|
|
gedrückt halten. Sie werden sehen, dass der Text entsprechend der
|
|
Mausbewegungen nach oben oder unter verschoben wird.
|
|
|
|
|
|
* WENN EMACS NICHT MEHR REAGIERT
|
|
--------------------------------
|
|
|
|
Wenn Emacs `hängt', also auf keine Ihrer Eingaben reagiert, drücken
|
|
Sie C-g. Sie können C-g auch dazu benützen, einen Befehl zu stoppen,
|
|
der zu lange braucht.
|
|
|
|
Eine andere Anwendung ist, einen teilweise eingegebenen Befehl zu
|
|
verwerfen, z.B. ein irrtümlich eingetipptes numerisches Argument zu
|
|
entfernen.
|
|
|
|
>> Geben Sie C-u 100 ein, um ein numerisches Argument 100 zu
|
|
spezifizieren, und drücken Sie dann C-g. Wenn Sie jetzt C-f
|
|
ausführen, dann bewegt sich der Cursor genau ein Zeichen vorwärts,
|
|
da Sie ja das numerische Argument mittels C-g gelöscht haben.
|
|
|
|
Wenn Sie aus Versehen <ESC> gedrückt haben, können Sie dies ebenfalls
|
|
mit C-g rückgängig machen.
|
|
|
|
|
|
* DEAKTIVIERTE BEFEHLE
|
|
----------------------
|
|
|
|
Ein paar Befehle von Emacs sind deaktiviert (`disabled'), damit
|
|
Anfänger sie nicht unabsichtlich benutzen.
|
|
|
|
Wenn Sie einen solchen Befehl eingeben, dann gibt Emacs eine Meldung
|
|
aus und fragt Sie, ob Sie ihn wirklich ausführen wollen.
|
|
|
|
Antworten Sie mit y (für `yes') oder drücken Sie die Leertaste, wenn
|
|
Sie den Befehl ausführen wollen, sonst mit n.
|
|
|
|
>> Geben Sie C-x C-l ein (das ist ein deaktivierter Befehl) und
|
|
drücken Sie n als Antwort auf die Frage.
|
|
|
|
|
|
* FENSTER
|
|
---------
|
|
|
|
Emacs kann mehrere Fenster (`windows') haben, von denen jedes seinen
|
|
eigenen Text darstellt. Später erklären wir, wie man mit Fenstern
|
|
umgeht. Hier wollen wir nur erklären, wie man ein (vielleicht
|
|
irrtümlich erzeugtes) Fenster wieder entfernt und zum normalen
|
|
Ein-Fenster-Editieren zurückkommt. Der Befehl ist einfach:
|
|
|
|
C-x 1 Ein Fenster (d.h., schließe alle anderen Fenster)
|
|
|
|
Das ist C-x gefolgt von der Ziffer 1. C-x 1 expandiert das Fenster,
|
|
in dem der Cursor sich befindet, sodass es den ganzen Bildschirm
|
|
erfasst. Alle anderen Fenster werden gelöscht.
|
|
|
|
[Anmerkung: Emacs verwendet das Wort Fenster (`windows') in einem
|
|
anderen Sinn, als Sie es vielleicht gewöhnt sind. Wenn Sie einen
|
|
Textbildschirm vor sich haben, dann ist die Terminologie eindeutig.
|
|
Wenn Sie allerdings eine graphische Oberfläche benutzen, dann
|
|
bezeichnet ein Emacs-Fenster einen Teilbereich des Fensters (von Ihrer
|
|
graphischen Oberfläche erzeugt), in dem Emacs läuft, in völliger
|
|
Analogie zum Textmodus. Für (graphische) Fenster im herkömmlichen
|
|
Sinn verwenden die Emacs-Entwickler den Ausdruck Rahmen (`frame').]
|
|
|
|
>> Bewegen Sie den Cursor zu dieser Zeile und geben Sie C-u 0 C-l ein.
|
|
|
|
>> Drücken Sie jetzt C-h k C-f.
|
|
Beachten Sie, wie das Fenster schrumpft und ein neues dazukommt,
|
|
welches die (englische) Dokumentation des C-f Befehls anzeigt.
|
|
|
|
>> Geben Sie jetzt C-x 1 ein. Das Dokumentationsfenster verschwindet
|
|
wieder.
|
|
|
|
|
|
* EINFÜGEN UND LÖSCHEN
|
|
----------------------
|
|
|
|
Wenn Sie Text einfügen wollen, dann geben Sie ihn einfach ein.
|
|
Sichtbare Zeichen, z.B. A, 7, * usw. werden als Text von Emacs sofort
|
|
eingefügt. Drücken Sie <Return> (die Zeilenvorschubtaste, meistens
|
|
mit `Enter' oder nur mit einem Rückwärts-Hakenpfeil beschriftet), um
|
|
ein Zeilenvorschubzeichen einzufügen.
|
|
|
|
Sie können das zuletzt eingegebene Zeichen löschen, indem Sie <Delete>
|
|
drücken. <Delete> ist einer Taste auf der Tastatur zugeordnet, die
|
|
mit `Del' oder `Entf' beschriftet ist. In manchen Fällen dient die
|
|
Backspace-Taste (oft auch nur als Rückwärtspfeil beschriftet) als
|
|
<Delete>, aber nicht immer!
|
|
|
|
Allgemein gesprochen löscht <Delete> das Zeichen unmittelbar vor der
|
|
aktuellen Cursorposition.
|
|
|
|
[Beachten Sie, dass <Delete> ein logischer Befehlsname ist, der auf
|
|
die jeweilige Tastatur abgebildet wird. Lesen Sie im Abschnitt `Init
|
|
Rebinding' des Emacs-Handbuches nach, wie Sie gegebenenfalls die
|
|
Tastaturbelegung verändern können.]
|
|
|
|
>> Probieren Sie das jetzt aus: Geben Sie ein paar Zeichen ein und
|
|
löschen Sie sie wieder mit <Delete>. Sie brauchen sich keine
|
|
Sorgen zu machen, dieses Dokument zu verändern: Was Sie hier lesen,
|
|
ist nur eine (persönliche) Kopie des originalen Dokuments.
|
|
|
|
Wenn eine Textzeile zu lang wird für eine Bildschirmzeile, dann wird
|
|
sie auf einer zweiten Bildschirmzeile `fortgesetzt'. Ein
|
|
`Backslash'-Zeichen (`\') bzw. ein kleiner gebogener Pfeil (bei
|
|
graphischen Oberflächen) am rechten Rand verdeutlicht das.
|
|
|
|
>> Fügen Sie Text ein, bis Sie den rechten Rand erreicht haben. Fügen
|
|
Sie weiter Text ein. Beobachten Sie, wie eine Fortsetzungszeile
|
|
erscheint.
|
|
|
|
>> Verwenden Sie <Delete> so oft, bis die Textzeile wieder auf eine
|
|
Bildschirmzeile passt. Die Fortsetzungszeile verschwindet wieder.
|
|
|
|
Sie können das Zeilenvorschubzeichen wie jedes andere Zeichen löschen:
|
|
Die Zeilen vor und nach ihm werden dann zu einer zusammengehängt. Ist
|
|
diese länger als die Bildschirmbreite, erscheint eine
|
|
Fortsetzungszeile.
|
|
|
|
>> Bewegen Sie den Cursor zum Anfang der Zeile und geben Sie <Delete>
|
|
ein: Die momentane Zeile wird an die vorige angehängt.
|
|
|
|
>> Geben Sie <Return> ein, um wieder ein Zeilenvorschubzeichen
|
|
einzufügen.
|
|
|
|
Denken Sie daran, dass die meisten Emacs-Befehle mit einem
|
|
Wiederholungszähler aufgerufen werden können. Tun Sie das mit einem
|
|
Textzeichen, dann wird es entsprechend dem numerischen Parameter
|
|
wiederholt.
|
|
|
|
>> Drücken Sie C-u 8 *, und es wird ******** eingefügt.
|
|
|
|
Bis jetzt kennen Sie die Grundbefehle, um Text in Emacs einzugeben und
|
|
Fehler zu korrigieren -- fast analog zu den Bewegungsbefehlen ist es
|
|
möglich, ganze Wörter, Sätze oder Zeilen zu löschen:
|
|
|
|
<Delete> lösche ein Zeichen vor dem Cursor
|
|
C-d lösche das Zeichen unter dem Cursor
|
|
|
|
M-<Delete> lösche bis zum (nächsten) Wortanfang unmittelbar
|
|
vor dem Cursor
|
|
M-d lösche bis zum (nächsten) Wortende nach
|
|
(bzw. unter) dem Cursor
|
|
|
|
C-k lösche von momentaner Cursorposition bis zum Ende
|
|
der Zeile
|
|
M-k lösche bis zum nächsten Satzende nach
|
|
(bzw. unter) dem Cursor
|
|
|
|
Beachten Sie bitte, dass <Delete> je nach Tastaturbelegung die Del-
|
|
(Entf-) oder die Backspace- (Rückwärtspfeil-) Taste sein kann.
|
|
|
|
Eine andere, einheitliche Methode zum Löschen von Text ist das
|
|
Befehlspaar C-@ (oder C-SPC) und C-w. Gehen sie zum Anfang des zu
|
|
löschenden Textes und drücken Sie C-@ oder C-SPC. Gehen Sie dann zum
|
|
Ende des zu löschenden Textes und drücken Sie C-w, um ihn zu
|
|
entfernen.
|
|
|
|
>> Bewegen Sie den Cursor zum Buchstaben `E' am Anfang des letzten
|
|
Absatzes.
|
|
>> Drücken Sie C-SPC. Emacs sollte die Meldung `Mark set' am unteren
|
|
Bildschirmrand zeigen.
|
|
>> Bewegen Sie den Cursor zum Buchstaben `A' in der zweiten Zeile des
|
|
letzten Absatzes.
|
|
>> Geben Sie C-w ein. Der ganze Text, beginnend mit dem `E' und
|
|
endend vor dem `A', ist nun gelöscht.
|
|
|
|
Löschen Sie mehr als ein Zeichen auf einmal, speichert Emacs den
|
|
gelöschten Text, damit Sie ihn bei Bedarf wieder zurückholen können.
|
|
Einfügen von bereits gelöschtem Text wird im englischen Dokumentation
|
|
von Emacs als `yanking' (wörtlich `herausreißen') bezeichnet. Sie
|
|
können den gelöschten Text an einer beliebigen Stelle wieder
|
|
einzufügen. Solange Sie nichts neues löschen, steht Ihnen dieser
|
|
gelöschte Textteil immer wieder zu Verfügung. Der Befehl dazu ist C-y
|
|
(das Ypsilon steht für `yank').
|
|
|
|
Emacs unterscheidet zwei Klassen von Löschbefehlen (was man im
|
|
Deutschen leider nicht gut wiedergeben kann): `killing' (umbringen)
|
|
und `deleting' (löschen). Wenn man sich vorstellt, dass `yanking' den
|
|
Begriff `von den Toten erwecken' darstellt, dann hat man ungefähr eine
|
|
Vorstellung von der Metapher -- Von einem `kill'-Befehl gelöschter
|
|
Text wird gespeichert und kann bei Bedarf mit C-y zurückgeholt
|
|
werden. Von einem `delete'-Befehl entfernter Text (in der Regel
|
|
einzelne Zeichen, leere Zeilen und Zwischenräume) wird nicht extra
|
|
gespeichert und kann daher auch nicht zurückgeholt werden.
|
|
|
|
>> Bringen Sie den Cursor an den Anfang einer nicht-leeren Zeile und
|
|
geben Sie C-k ein, um die Zeile zu löschen.
|
|
|
|
>> Geben Sie C-k ein zweites Mal ein. Nun wird der Zeilenvorschub
|
|
ebenfalls entfernt.
|
|
|
|
Das letzte Beispiel zeigt, dass ein einmaliges Ausführen von C-k den
|
|
Zeileninhalt löscht, und dass ein nochmaliger C-k-Befehl die Zeile
|
|
selbst löscht. Ein numerisches Argument für C-k wird speziell
|
|
behandelt: es löscht die angegebene Anzahl von Zeilen UND die
|
|
Zeilenvorschübe: C-u 2 C-k löscht zwei Zeilen komplett; zweimal C-k
|
|
löscht dagegen nur eine Zeile.
|
|
|
|
Wie schon erwähnt, bringt C-y den zuletzt gelöschten (`gekillten')
|
|
Text zurück -- man kann diesen Text einfügen, wo man will: an der
|
|
ursprünglichen Stelle, an einer anderen Stelle, oder sogar in einer
|
|
anderen Datei. Mehrmaliges Ausführen von C-y fügt den Text mehrmals
|
|
ein.
|
|
|
|
>> Probieren Sie jetzt C-y, um diesen Effekt zu sehen.
|
|
|
|
Führen Sie C-k mehrmals hintereinander aus, dann wird der so
|
|
gelöschte Text auf einmal gespeichert; C-y bringt dann den gesamten
|
|
Text zurück.
|
|
|
|
>> Drücken Sie mehrmals C-k.
|
|
|
|
Holen Sie jetzt den Text `von den Toten' zurück:
|
|
|
|
>> Drücken Sie C-y. Bewegen Sie dann den Cursor ein paar Zeilen nach
|
|
unten und drücken Sie C-y erneut. Der eben eingefügte Text wird
|
|
noch einmal an anderer Stelle kopiert.
|
|
|
|
Wie können Sie gelöschten Text wieder einfügen, wenn Sie in der
|
|
Zwischenzeit noch etwas anderes `gekillt' haben? C-y würde das
|
|
zuletzt gelöschte Textstück zurückholen, was aber nicht das gewünschte
|
|
ist. Verwenden Sie nun M-y (unmittelbar nach der erstmaligen
|
|
Ausführung von C-y), um den gerade mit C-y eingefügten Textteil durch
|
|
ein früher gelöschtes Textstück zu ersetzen. Durch wiederholtes
|
|
Betätigen von M-y kommen immer ältere gelöschte Textteile zum
|
|
Vorschein. Haben Sie das gewünschte gefunden, dann brauchen Sie
|
|
nichts weiter zu tun. Lassen Sie den eingefügten Text so wie er ist
|
|
und setzen Sie das Editieren fort.
|
|
|
|
Drücken Sie M-y immer weiter, dann kommen Sie irgendwann wieder an den
|
|
Anfangspunkt zurück (Emacs zeigt Ihnen dann wieder das zuletzt
|
|
gelöschte Textfragment), haben also den gesamten Löschring
|
|
durchgesehen.
|
|
|
|
>> Löschen Sie eine Zeile, bewegen Sie den Cursor zu einer anderen
|
|
Position und löschen Sie eine weitere Zeile.
|
|
Drücken Sie dann C-y, um die zweite gelöschte Zeile zurückzuholen.
|
|
Drücken Sie jetzt M-y, und die erste gelöschte Zeile erscheint
|
|
statt der zweiten.
|
|
Führen Sie nun ein paar weitere M-y-Befehle aus und beobachten Sie
|
|
das Ergebnis. Wiederholen Sie das solange, bis die zweite Zeile
|
|
wieder erscheint.
|
|
Wenn Sie wollen, dann können Sie M-y mit positiven oder negativen
|
|
Argumenten aufrufen, um direkt zu einem bestimmten Eintrag im
|
|
Löschring zu kommen.
|
|
|
|
Die meisten graphischen Oberflächen bieten auch die Möglichkeit, mit
|
|
der linken Maustaste einen Textteil zu markieren (er erscheint dann
|
|
normalerweise grau unterlegt). Der Befehl C-w löscht diesen
|
|
markierten Textteil (in Emacs auch `Region' genannt) und fügt ihn in
|
|
den Löschring ein.
|
|
|
|
Dasselbe geht auch ohne Maus: Bewegen Sie den Cursor zum Beginn des zu
|
|
löschenden Textteils, drücken Sie C-SPC, um eine Markierung für den
|
|
Beginn einer Region zu setzen, gehen Sie dann zum Ende des zu
|
|
löschenden Textes und drücken Sie C-w.
|
|
|
|
Der lange Name für C-w ist kill-region (weiter unten wird erklärt, wie
|
|
man Befehle mit langen Namen ausführen kann).
|
|
|
|
|
|
* UNDO
|
|
------
|
|
|
|
Wenn Sie etwas am Text geändert haben und nachträglich bemerken, dass
|
|
das ein Fehler war, so können Sie den Fehler mit dem Befehl C-x u
|
|
ungeschehen machen (`undo').
|
|
|
|
Normalerweise macht C-x u das Verhalten von einem Befehl ungeschehen;
|
|
führen Sie C-x u mehrmals hintereinander aus, werden die jeweiligen
|
|
vorigen Befehle widerrufen.
|
|
|
|
Es gibt jedoch zwei Ausnahmen: Befehle, die den Text nicht ändern,
|
|
werden nicht gezählt (z.B. Cursorbewegungen und Blättern im Text).
|
|
Und Befehle, die sich selbst einfügen (`self-inserting': Drücken Sie
|
|
zum Beispiel die `u'-Taste, dann wird der Buchstabe u eingefügt)
|
|
werden in Gruppen von bis zu 20 Zeichen wiederhergestellt, um die
|
|
Anzahl der notwendigen C-x u-Befehle zu reduzieren.
|
|
|
|
>> Löschen Sie diese Zeilen mit C-k und drücken Sie anschließend
|
|
mehrmals C-x u, und die Zeilen erscheinen wieder.
|
|
|
|
C-_ ist ein alternativer Undo-Befehl; er arbeitet genauso wie C-x u,
|
|
ist jedoch einfacher zu tippen, wenn Sie den Befehl mehrmals
|
|
hintereinander ausführen möchten. Der Nachteil von C-_ ist, dass bei
|
|
manchen Tastaturen nicht sofort einsichtig ist, wie man das eingibt.
|
|
|
|
Eine weitere Eingabemöglichkeit bei vielen Terminals ist C-/.
|
|
|
|
Ein numerisches Argument für C-_, C-x u oder C-/ wird als
|
|
Wiederholungszähler interpretiert.
|
|
|
|
Der Unterschied zwischen der Undo-Funktion und dem oben erklärten C-y
|
|
ist, dass erstere gelöschten Text an exakt der gleichen Position wie
|
|
vorher wiederherstellt, wohingegen C-y den gelöschten Text an der
|
|
momentanen Cursorposition einfügt. Im übrigen kann auch `gekillter'
|
|
Text wieder hergestellt werden; der Unterschied zwischen `killing' und
|
|
`yanking' betrifft nur C-y, aber nicht die Undo-Funktion.
|
|
|
|
|
|
* DATEIEN
|
|
---------
|
|
|
|
Um editierten Text zu sichern, muss man ihn in einer Datei (`file')
|
|
speichern (`save'). Wird Emacs beendet, ohne dass man vorher den Text
|
|
gespeichert hat, dann ist der Text verloren.
|
|
|
|
Will man andererseits bereits gesicherten Text mit Emacs editieren, so
|
|
muss die entsprechende Datei in Emacs geladen werden (im Englischen
|
|
wird das als `finding' (finden) bzw. als `visiting' (besuchen)
|
|
bezeichnet).
|
|
|
|
Eine Datei `finden' bedeutet, dass man den Inhalt dieser Datei mit
|
|
Emacs bearbeitet -- es ist fast so, als ob man die Datei selbst
|
|
editiert. Jedoch werden Änderungen an dieser Datei erst dann
|
|
dauerhaft, wenn man sie speichert; auf diese Weise wird vermieden,
|
|
dass Dateien in einem halb-geänderten Zustand im Betriebssystem
|
|
bleiben. Es wird sogar die originale, unveränderte Datei unter einem
|
|
anderen Namen gesichert, falls Sie später entscheiden sollten, dass
|
|
die Änderungen ein Fehler sind.
|
|
|
|
Wenn Sie die untere Bildschirmkante genauer betrachten, dann werden
|
|
Sie eine Zeile finden, die mit einem oder mehreren Bindestrichen
|
|
beginnt und endet; sie enthält unter anderem die Zeichenkette
|
|
`TUTORIAL.de'. An dieser Position befindet sich immer der Name der
|
|
Datei, die Sie momentan bearbeiten (`visit'). Gerade in diesem
|
|
Augenblick bearbeiten Sie eine Datei mit dem Namen `TUTORIAL.de'
|
|
(genauer gesagt, Emacs hat eine identische Kopie geladen).
|
|
|
|
Die Befehle für das Laden und Speichern von Dateien bestehen aus zwei
|
|
Zeichen: Beide beginnen mit CONTROL-x. Es gibt eine ganze Reihe von
|
|
Kommandos, die mit C-x beginnen; viele von ihnen haben mit Dateien,
|
|
Puffern (s.u.) und ähnlichem zu tun. All diese Befehle sind zwei,
|
|
drei oder vier Zeichen lang -- Sie haben bereits C-x u und C-x 1
|
|
kennengelernt.
|
|
|
|
Um eine Datei in Emacs laden zu können, muss man dem Lade-Befehl den
|
|
Namen der Datei mitteilen. Der Befehl `liest ein Argument vom
|
|
Terminal' (in diesem Fall ist das der Name der Datei). Nachdem Sie
|
|
|
|
C-x C-f (lade Datei)
|
|
|
|
eingegeben haben, werden Sie von Emacs nach dem Dateinamen gefragt.
|
|
Die Zeichen, die Sie eingeben, werden in der untersten Bildschirmzeile
|
|
dargestellt, dem sogenannten Minipuffer (`minibuffer'). Sie können
|
|
ganz normale Emacs-Editierfunktionen verwenden, um den Dateinamen zu
|
|
ändern.
|
|
|
|
Sie können jederzeit die Eingabe (auch von anderen Befehlen, die den
|
|
Minipuffer benutzen) mit C-g abbrechen.
|
|
|
|
>> Drücken Sie C-x C-f und dann C-g. Der letzte Befehl verwirft
|
|
jegliche Eingabe im Minipuffer und bricht außerdem den Ladebefehl
|
|
ab (Sie haben also keine Datei geladen).
|
|
|
|
Wenn Sie den Dateinamen fertig eingegeben haben, drücken Sie <Return>,
|
|
um den Befehl abzuschließen; C-x C-f wird ausgeführt und lädt die von
|
|
Ihnen ausgesuchte Datei. Der Minipuffer verschwindet wieder, sobald
|
|
C-x C-f beendet ist.
|
|
|
|
Ein paar Augenblicke später erscheint der Dateiinhalt auf dem
|
|
Bildschirm, und Sie können den Text editieren. Wenn Sie Ihre
|
|
Änderungen permanent speichern wollen, dann drücken Sie
|
|
|
|
C-x C-s (sichere Datei)
|
|
|
|
und Emacs kopiert den Text in die Datei. Beim ersten Mal benennt
|
|
Emacs die Originaldatei um, damit sie nicht verloren ist. Der neue
|
|
Name besteht aus dem Originalnamen plus einer angehängten Tilde `~'
|
|
[unter einigen Betriebssystemen wird statt dessen die
|
|
Namenserweiterung durch `.bak' ersetzt].
|
|
|
|
Emacs schreibt den Namen der gesicherten Datei in die unterste Zeile,
|
|
sobald C-x C-s fertig ausgeführt ist. Sie sollten den editierten Text
|
|
oft speichern, damit nicht allzuviel bei einem etwaigen Systemabsturz
|
|
verloren geht.
|
|
|
|
>> Geben Sie C-x C-s ein, um Ihre Kopie der Einführung zu sichern.
|
|
Die Ausgabe am unteren Bildschirmrand sollte `Wrote ...TUTORIAL.de'
|
|
sein.
|
|
|
|
[Manche Terminals werden durch C-s angehalten und müssen durch C-q
|
|
wieder `entsperrt' werden. Eine erste Abhilfe zur Umschiffung dieses
|
|
C-s-Problems schafft die Befehlsfolge `M-x save-buffer', welche exakt
|
|
das gleiche wie C-x C-s bewirkt. Mehr Hilfe dazu finden Sie im
|
|
Abschnitt `Spontaneous Entry to Incremental Search' im
|
|
Emacs-Handbuch.]
|
|
|
|
Sie können eine existierende Datei anschauen (`view') oder editieren.
|
|
Sie können aber auch eine Datei laden, die noch gar nicht existiert,
|
|
um so eine neue Datei zu erzeugen: Sie öffnen dazu die
|
|
(nicht-existente) Datei, die natürlich leer ist, und beginnen dann
|
|
einfach Text einzugeben. Wenn Sie jetzt die Datei speichern, erzeugt
|
|
Emacs wirklich die Datei und kopiert den editierten Text in sie
|
|
hinein.
|
|
|
|
|
|
* PUFFER
|
|
--------
|
|
|
|
Manche Editoren können nicht mehr als eine Datei gleichzeitig
|
|
bearbeiten. Wenn Sie jedoch eine zweite Datei in Emacs mit C-x C-f
|
|
laden, dann bleibt die erste in Emacs. Sie können zur ersten
|
|
zurückschalten, indem Sie noch einmal C-x C-f eingeben. Auf diese
|
|
Weise lassen sich eine ganze Reihe von Dateien laden und bearbeiten.
|
|
|
|
>> Erzeugen Sie eine Datei mit dem Namen `foo', indem Sie
|
|
|
|
C-x C-f foo <Return>
|
|
|
|
eingeben. Tippen Sie etwas Text ein, editieren Sie ihn und
|
|
speichern Sie ihn abschließend mit C-x C-s. Kehren Sie
|
|
anschließend zu dieser Einführung zurück mit
|
|
|
|
C-x C-f TUTORIAL.de <Return>
|
|
|
|
Emacs speichert jeden Text, der aus einer Datei in Emacs geladen wird,
|
|
in einem `Puffer'-Objekt. Um eine Liste der momentan existierenden
|
|
Puffer zu sehen, geben Sie
|
|
|
|
C-x C-b (liste Puffer auf)
|
|
|
|
ein.
|
|
|
|
>> Probieren Sie jetzt C-x C-b.
|
|
|
|
Beachten Sie, dass jeder Puffer einen Namen hat und manche auch mit
|
|
dem Namen einer Datei assoziiert sind, dessen Inhalt sie enthalten.
|
|
Manche Puffer aber haben keinen zugehörige Datei, z.B. der mit dem
|
|
Namen `*Buffer List*'. Er wurde von dem Befehl C-x C-b erzeugt, um
|
|
die Pufferliste darzustellen. JEDER Text, den Sie innerhalb Emacs in
|
|
einem Fenster sehen, ist immer ein Ausschnitt eines Puffers.
|
|
|
|
>> Geben Sie jetzt C-x 1 ein, um die Pufferliste wieder verschwinden
|
|
zu lassen.
|
|
|
|
Wieviele Puffer auch in Emacs geladen sind, nur ein einziger ist der
|
|
`momentane' Puffer, nämlich derjenige, den Sie gerade editieren. Will
|
|
man einen anderen Puffer editieren, muss man zuerst zu diesem Puffer
|
|
wechseln (`switch'). Wie schon weiter oben erklärt, kann man mittels
|
|
C-x C-f zu einem Puffer wechseln, der zu einer Datei gehört. Emacs
|
|
hat jedoch einen einfacheren Befehl, C-x b, um einen beliebigen Puffer
|
|
namentlich auszuwählen.
|
|
|
|
>> Geben Sie C-x b foo <Return> ein, um zurück zum Puffer `foo' zu
|
|
schalten, der den Text der Datei `foo' enthält. Anschließend geben
|
|
Sie C-x b TUTORIAL.de <RETURN> ein, um wieder zu dieser Einführung
|
|
zu gelangen.
|
|
|
|
In der Regel ist der Puffername identisch zu einem Dateinamen (ohne
|
|
den Verzeichnispräfix), jedoch nicht immer. Die von C-x C-b erzeugte
|
|
Pufferliste zeigt stets die Namen aller Puffer.
|
|
|
|
JEDER Text in Emacs ist Teil eines Puffers, aber nicht jeder Puffer
|
|
entspricht einer Datei. So ist z.B. der Puffer `*Buffer List*' mit
|
|
keiner Datei assoziiert -- er wurde direkt von dem Befehl C-x C-b
|
|
erzeugt. Genauso hat der Puffer `*Messages*' keine Entsprechung als
|
|
Datei; er enthält alle Mitteilungen, die in der untersten Zeile
|
|
während des Arbeitens mit Emacs erscheinen.
|
|
|
|
>> Geben Sie C-x b *Messages* <Return> ein, um sich den
|
|
Mitteilungspuffer anzuschauen.
|
|
Anschließend geben Sie C-x b TUTORIAL.de <Return> ein, um wieder
|
|
hierher in die Einführung zurückzukommen.
|
|
|
|
Wenn Sie Änderungen an einer Datei vornehmen und anschließend eine
|
|
andere Datei laden, dann wird die erste nicht gespeichert. Die
|
|
Änderungen bleiben in Emacs, und zwar in dem zur ersten Datei
|
|
gehörigen Puffer. Das ist sehr praktisch, bedeutet jedoch
|
|
gleichzeitig, dass man einen Befehl braucht, um den Puffer der ersten
|
|
Datei permanent abzuspeichern. Es wäre äußerst umständlich, müsste
|
|
man jedesmal C-x C-f eingeben, um den Puffer dann mit C-x C-s
|
|
abzuspeichern. Daher gibt es den Befehl
|
|
|
|
C-x s (sichere mehrere Puffer)
|
|
|
|
Dieser Befehl fragt Sie bei jedem Puffer, der Änderungen enthält, ob
|
|
Sie ihn speichern wollen.
|
|
|
|
>> Fügen Sie eine Textzeile ein und drücken Sie dann C-x s.
|
|
Emacs fragt Sie jetzt, ob Sie einen Puffer mit dem Namen
|
|
TUTORIAL.de speichern wollen. Bejahen Sie, indem Sie `y' drücken.
|
|
|
|
[Anmerkung: Sie verändern nicht die Originaldatei, sondern eine
|
|
persönliche Kopie.]
|
|
|
|
|
|
* WEITERE BEFEHLE
|
|
-----------------
|
|
|
|
Es existieren viel mehr Emacs-Befehle als Tasten auf der Tastatur. Um
|
|
sie trotzdem alle benutzen zu können, gibt es zwei Erweiterungen:
|
|
|
|
C-x Zeichenerweiterung. Gefolgt von einem Zeichen.
|
|
M-x Befehlserweiterung. Gefolgt von einem (langen) Namen.
|
|
|
|
[Das `x' steht für das englische Wort `extension'.] Diese beiden
|
|
Befehle sind prinzipiell sehr nützlich, werden aber weniger oft
|
|
benötigt als die bisher vorgestellten. Sie haben bereits mehrere
|
|
Befehle aus der ersten Kategorie kennengelernt; unter anderem C-x C-f,
|
|
um eine Datei zu laden, und C-x C-s, um sie zu speichern. Ein
|
|
weiteres Beispiel ist C-x C-c, um Emacs zu beenden -- Sie brauchen
|
|
sich keine Gedanken zu machen, ob Sie beim Beenden von Emacs
|
|
vielleicht vergessen haben, Daten oder Text zu sichern -- Emacs fragt
|
|
bei jedem geändertem Puffer (bzw. Datei), ob er gespeichert werden
|
|
soll.
|
|
|
|
C-z ist der Befehl um Emacs *zeitweise* zu verlassen; es ist also
|
|
möglich, später an der unterbrochenen Stelle nahtlos weiterzuarbeiten.
|
|
|
|
Auf den meisten Systemen wie Linux oder FreeBSD wird Emacs
|
|
`suspendiert', wenn Sie C-z drücken, d.h., Sie kehren zurück zur
|
|
Eingabezeile des Betriebssystems, ohne Emacs zu beenden. In der Regel
|
|
können Sie dann mittels des Befehls `fg' bzw. `%emacs' wieder zu Emacs
|
|
umschalten. Unter graphischen Oberflächen wie X11 bewirkt C-z in der
|
|
Regel, dass Emacs ikonofiziert wird, also als Ikone (`Icon') darauf
|
|
wartet, mit einem Mausklick bei Bedarf wieder vergrößert zu werden.
|
|
|
|
Bei Betriebssystemen bzw. Shells, die Suspension von Programmen nicht
|
|
implementiert haben (z.B. MS-DOS), startet C-z einen
|
|
System-Befehlsinterpreter innerhalb von Emacs (`subshell').
|
|
Normalerweise müssen Sie dann `exit' in die Befehlszeile schreiben, um
|
|
zu Emacs zurückzukehren.
|
|
|
|
Der beste Zeitpunkt für C-x C-c ist, wenn Sie sich ausloggen
|
|
(bzw. Ihren Computer ausschalten); Sie sollten Emacs ebenfalls
|
|
beenden, wenn Sie Emacs von einem anderen Programm aus aufgerufen
|
|
haben (z.B. einem Programm, das E-mails liest), da solche Programme
|
|
oft nicht wissen, wie sie mit Emacs im Suspend-Modus umgehen sollen.
|
|
In allen anderen Fällen ist es meistens günstiger, C-z zu benutzen und
|
|
Emacs nicht zu beenden, damit man im Bedarfsfalle sofort an der
|
|
gleichen Stelle weiterarbeiten kann.
|
|
|
|
Hier ist eine Liste aller C-x-Befehle, die Sie bereits kennengelernt
|
|
haben:
|
|
|
|
C-x C-f lade Datei
|
|
C-x C-s sichere Datei
|
|
C-x s sichere einige Puffer
|
|
C-x C-b zeige Pufferliste an
|
|
C-x b wechsle zu Puffer
|
|
C-x C-c beende Emacs
|
|
C-x 1 lösche alle Fenster außer einem
|
|
C-x u widerrufen
|
|
|
|
Ein Beispiel für einen Befehl mit langen Namen ist replace-string, der
|
|
global (also in der ganzen Datei bzw. Puffer) eine Zeichenkette durch
|
|
eine andere ersetzt. Wenn Sie M-x drücken, dann fragt Sie Emacs in
|
|
der untersten Bildschirmzeile nach dem Namen des Befehls (in diesem
|
|
Fall `replace-string'). Geben Sie jetzt `repl s<TAB>' ein und Emacs
|
|
vervollständigt den Namen. Schließen Sie die Eingabe mit <Return> ab.
|
|
[<TAB> bezeichnet die Tabulatortaste.]
|
|
|
|
>> Bewegen Sie den Cursor zu der leeren Zeile sechs Zeilen unter
|
|
dieser. Geben Sie dann
|
|
|
|
M-x repl s<Return>Bildschirm<Return>Text<Return>
|
|
|
|
ein und kehren Sie mit C-u C-SPC an diese Position zurück.
|
|
|
|
Beachten Sie wie diese Bildschirmzeile jetzt aussieht: Sie haben
|
|
den Wortteil B-i-l-d-s-c-h-i-r-m durch `Text' ersetzt (und zwar im
|
|
ganzen Dokument beginnend von der Cursorposition).
|
|
|
|
>> Drücken Sie jetzt C-x u, um diese Änderungen auf einmal rückgängig
|
|
zu machen.
|
|
|
|
|
|
* AUTOMATISCHES SPEICHERN
|
|
-------------------------
|
|
|
|
Haben Sie Änderungen an einem Dokument vorgenommen, sie jedoch nicht
|
|
gespeichert, dann können sie verloren gehen, falls der Computer
|
|
abstürzt. Um Sie davor zu schützen, sichert Emacs in bestimmten
|
|
Zeitintervallen jede von Ihnen editierte Datei in sogenannten
|
|
`auto save'-Dateien. Sie sind daran zu erkennen, dass sie mit einem #
|
|
beginnen und enden; z.B. ist `#hello.c#' der Name der Auto-Save-Datei
|
|
von `hello.c'. Wenn Sie Ihren Text auf normalem Wege speichern, wird
|
|
die Auto-Save-Datei gelöscht.
|
|
|
|
Stürzt der Rechner einmal wirklich ab, können Sie die Änderungen, die
|
|
beim letzten Auto-Save gespeichert worden sind, folgendermaßen
|
|
wiederherstellen: Laden Sie die Datei auf normalem Wege (die Datei,
|
|
die Sie bearbeitet haben, nicht die Auto-Save-Datei) und geben Sie
|
|
dann `M-x recover-file<Return>' ein. Wenn Emacs Sie um Bestätigung
|
|
fragt, antworten Sie mit `yes<Return>', um den Inhalt der
|
|
Auto-Save-Datei zu übernehmen.
|
|
|
|
|
|
* DER ECHO-BEREICH
|
|
------------------
|
|
|
|
Geben Sie Befehle langsam ein, dann zeigt Ihnen Emacs Ihre eigene
|
|
Eingabe am unteren Bildschirmrand im sogenannten Echo-Bereich (`echo
|
|
area'). Der Echo-Bereich enthält die unterste Bildschirmzeile.
|
|
|
|
[Mini-Puffer und Echo-Bereich fallen normalerweise zusammen, sind aber
|
|
nicht das gleiche, da innerhalb des Echo-Bereiches nichts eingegeben
|
|
werden kann.]
|
|
|
|
|
|
* DIE STATUSZEILE
|
|
------------------
|
|
|
|
Die Bildschirmzeile unmittelbar über dem Echo-Bereich ist die
|
|
Statuszeile (`mode line'). Sie schaut ungefähr so aus:
|
|
|
|
-1:** TUTORIAL.de 59% L905 (Fundamental)----------------------
|
|
|
|
Diese Zeile gibt nützliche Hinweise über den momentanen Zustand von
|
|
Emacs und den Text, den Sie gerade editieren.
|
|
|
|
Sie wissen bereits, was der Dateiname bedeutet. `--NN%--' zeigt die
|
|
momentane Position innerhalb des Textes an: NN Prozent davon sind
|
|
oberhalb des Bildschirms. Ist der Dateianfang zu sehen, dann
|
|
erscheint `Top' anstelle von `00%'. Analog dazu erscheint `Bot' (für
|
|
das englische Wort `bottom'), wenn das Dateiende sichtbar ist. Wenn
|
|
Sie einen Text betrachten, der komplett auf den Bildschirm passt, dann
|
|
erscheint `All'.
|
|
|
|
Das `L' und die nachfolgenden Ziffern geben die aktuelle Zeilennummer
|
|
an, in der sich der Cursor befindet.
|
|
|
|
Am Anfang der Zeile sehen Sie `-1:**'. Die Zeichen vor dem
|
|
Doppelpunkt geben an, in welcher Kodierung der Text ist und welche
|
|
Eingabemethode verwendet wird. Dazu mehr weiter unten im Abschnitt
|
|
`MULE'.
|
|
|
|
[Anstelle des Doppelpunktes können auch ein `\' und `/' stehen, falls
|
|
Sie Dateien editieren, die der MS-DOS- bzw. der
|
|
Macintosh-Textkonvention folgen: MS-DOS verwendet als
|
|
Zeilenvorschubzeichen CR-LF (Carriage Return gefolgt von Linefeed),
|
|
während Macintosh nur CR benutzt. Emacs verwendet standardmäßig LF.]
|
|
|
|
Die Sterne nach dem Doppelpunkt bedeuten, dass Sie Änderungen am Text
|
|
vorgenommen haben. Wenn Sie gerade eine Datei in Emacs geladen oder
|
|
gespeichert haben, dann erscheinen statt der Sterne zwei Bindestriche.
|
|
Prozentzeichen nach dem Doppelpunkt stehen für eine Datei, die nur
|
|
gelesen, aber nicht editiert werden kann.
|
|
|
|
Der eingeklammerte Teil gibt an, in welchem Editiermodus Sie sich
|
|
befinden. Der Standardmodus heißt `Fundamental' (Sie verwenden ihn
|
|
gerade); er ist ein Beispiel für einen Hauptmodus (`major mode').
|
|
|
|
Emacs hat viele Hauptmodi implementiert. Manche davon werden für
|
|
verschiedene (Computer-)Sprachen und/oder Textarten verwendet,
|
|
z.B. Lisp-Modus, Text-Modus usw. Es kann immer nur ein Hauptmodus
|
|
aktiviert sein, und der Name befindet sich dort, wo jetzt gerade
|
|
`Fundamental' steht.
|
|
|
|
Einige Befehle verhalten sich jeweils in verschiedenen Hauptmodi
|
|
anders. Es gibt zum Beispiel einen Befehl, um einen Kommentar in den
|
|
Quellcode eines Computerprogramm einzufügen -- die Tastenfolge dafür
|
|
ist zwar (in der Regel) die gleiche, doch wird ein Kommentar mit der
|
|
für die aktuelle Programmiersprache gültigen Syntax eingefügt
|
|
(z.B. `// ...' für ein Programm in C++ oder `; ...' für Lisp). Um in
|
|
einen Hauptmodus zu schalten, hängen Sie einfach das englische Wort
|
|
`-mode' an den (kleingeschriebenen) Namen des Modus an und führen den
|
|
Befehl mittels M-x aus. Beispiel: `M-x fundamental-mode' schaltet in
|
|
den Fundamental-Modus. Weitere wichtige Modi sind c-mode, perl-mode,
|
|
lisp-mode, text-mode u.a. Die meisten davon werden automatisch
|
|
aktiviert, und zwar entsprechend der Namenserweiterung der zu ladenden
|
|
Datei: So wird z.B. durch das Laden der Datei foo.c automatisch der
|
|
C-Modus aktiviert.
|
|
|
|
Wenn Sie deutschen oder englischen Text bearbeiten, dann sollten Sie
|
|
den Textmodus verwenden. [Falls Ihre Tastatur keine Umlaut-Tasten
|
|
hat, müssen Sie noch einen weiteren Nebenmodus aktivieren. Lesen Sie
|
|
dazu den Abschnitt `MULE' weiter unten.]
|
|
|
|
>> Geben Sie `M-x text mode<Return>' ein.
|
|
|
|
Sie brauchen keine Angst zu haben, dass sich die bisher dargestellte
|
|
Tastaturbelegung von Emacs stark ändert. Beobachten Sie z.B. die
|
|
Befehle M-f und M-b: Apostrophe werden nun als Teil eines Wortes
|
|
betrachtet (wie man's leicht an diesem Beispiel ausprobieren kann),
|
|
wohingegen im Fundamentalmodus Apostrophe als Worttrenner
|
|
(`word-separator') behandelt werden.
|
|
|
|
Normalerweise ist das eben genannte Beispiel die Methode von
|
|
Hauptmodi: Die meisten Befehle tun `das gleiche', arbeiten aber
|
|
jeweils ein bisschen anders.
|
|
|
|
Dokumentation zum derzeit aktuellen Hauptmodus bekommen Sie mit C-h m.
|
|
|
|
>> Drücken Sie C-u C-v ein- oder mehrmals, um diese Zeile in die Nähe
|
|
des oberen Bildschirmrands zu bringen.
|
|
>> Lesen Sie nun mittels C-h m die englische Dokumentation zum
|
|
Textmodus.
|
|
>> Entfernen Sie schließlich das Dokumentationsfenster mit C-x 1.
|
|
|
|
Neben den Hauptmodi gibt es auch Nebenmodi (`minor modes'). Nebenmodi
|
|
sind keine Alternativen zu Hauptmodi, sondern stellen Ergänzungen zur
|
|
Verfügung, die (normalerweise) in allen Hauptmodi funktionieren
|
|
(z.B. der Überschreibmodus: Zeichen werden nicht eingefügt, sondern
|
|
überschreiben den Text). Man kann Nebenmodi ein- und ausschalten
|
|
unabhängig von anderen Nebenmodi und Hauptmodi; mit anderen Worten,
|
|
Sie können zu Ihrem Hauptmodus keinen, einen oder sogar mehrere
|
|
Nebenmodi haben.
|
|
|
|
Ein Nebenmodus, welcher äußerst nützlich ist, besonders für das
|
|
Editieren von Text, ist der automatische Zeilenumbruch (`Auto Fill
|
|
mode'). Ist dieser Modus aktiviert, dann bricht Emacs die laufende
|
|
Zeile selbsttätig zwischen Wörtern um, sobald sie zu lang wird.
|
|
|
|
Sie können den Zeilenumbruchmodus einschalten mittels `M-x auto fill
|
|
mode<Return>'. Wenn der Modus aktiviert ist, können Sie ihn mit dem
|
|
gleichen Befehl wieder ausschalten. Mit anderen Worten, der Befehl
|
|
verhält sich wie ein Lichttaster, der bei Betätigung entweder das
|
|
Licht ein- oder ausschaltet, je nachdem, ob das Licht vorher
|
|
ausgeschaltet bzw. eingeschaltet war. Wir sagen, dass dieser Befehl
|
|
den Modus umschaltet (`toggle').
|
|
|
|
>> Geben Sie nun M-x auto fill mode<Return> ein. Fügen Sie
|
|
anschließend eine Zeile ein, die aus lauter `asdf ' besteht, und
|
|
zwar so lange, bis die Zeile automatisch umgebrochen wird.
|
|
Vergessen Sie nicht, Leerzeichen einzugeben, da nur dort ein
|
|
Umbruch erfolgt.
|
|
|
|
Normalerweise ist die maximale Zeilenlänge 70 Zeichen (d.h., der linke
|
|
Rand ist ganz links auf Position 1 und der rechte Rand auf
|
|
Position 70), jedoch können Sie das mit dem Befehl C-x f ändern.
|
|
Geben Sie den neuen (rechten) Rand als numerischen Parameter ein.
|
|
|
|
>> Geben Sie C-x mit dem Argument 20 ein (C-u 2 0 C-x f). Schreiben
|
|
Sie nun etwas Text und beobachten Sie, wie Emacs die laufende Zeile
|
|
an Position 20 umbricht. Setzen Sie anschließend den Rand wieder
|
|
zurück auf 70 mit dem gleichen Befehl.
|
|
|
|
Machen Sie Änderungen in der Mitte eines Absatzes, dann reformatiert
|
|
der Zeilenfüllmodus nicht automatisch den Absatz.
|
|
Verwenden Sie dafür den Befehl M-q, wobei der Cursor innerhalb des
|
|
Absatzes stehen muss.
|
|
|
|
>> Bewegen Sie den Cursor zurück zum letzten Absatz und drücken Sie
|
|
M-q.
|
|
|
|
|
|
* SUCHEN
|
|
--------
|
|
|
|
Emacs kann Zeichenketten (`strings') entweder in Richtung Pufferende
|
|
(vorwärts, `forward') oder in Richtung Pufferanfang (rückwärts,
|
|
`backward') suchen. Gleichzeitig wird der Cursor an die nächste
|
|
Stelle bewegt, wo diese Zeichenkette erscheint.
|
|
|
|
Hier unterscheidet sich Emacs von vielen anderen Editoren, da nämlich
|
|
die Standard-Suchoperation inkrementelles Suchen ist, d.h., die Suche
|
|
beginnt dann, wenn Sie die Zeichen eingeben.
|
|
|
|
Der Befehl für Vorwärtssuchen ist C-s und C-r für Rückwärtssuchen.
|
|
ABER HALT! Probieren Sie bitte diese Befehle noch nicht.
|
|
|
|
Wenn Sie C-s eingeben, dann erscheint die Zeichenkette `I-search:' als
|
|
Eingabeaufforderung im Echobereich. Das bedeutet, dass Emacs jetzt
|
|
eine inkrementellen Suche ausführt und darauf wartet, dass Sie die zu
|
|
suchende Zeichenkette eingeben. <Return> beendet die Suche.
|
|
|
|
>> Geben Sie jetzt C-s ein, um einen Suchvorgang zu starten. Schreiben
|
|
Sie LANGSAM, einen Buchstaben nach dem anderen, das Wort `Cursor',
|
|
und warten Sie jeweils ab, was mit dem Cursor passiert. Sie haben
|
|
jetzt das Wort `Cursor' einmal gefunden.
|
|
>> Drücken Sie C-s noch einmal, um die nächste Stelle zu suchen, wo das
|
|
Wort `Cursor' vorkommt.
|
|
>> Drücken Sie nun <Delete> viermal und beobachten Sie, wie der Cursor
|
|
zurückspringt.
|
|
>> Beenden Sie die Suche mit <Return>.
|
|
|
|
Verstehen Sie, was gerade vorgegangen ist? Emacs versucht während
|
|
einer inkrementellen Suche zu der Stelle zu gehen, wo die Zeichenkette
|
|
steht, die Sie bis jetzt eingegeben haben. Um die darauffolgende
|
|
Position zu suchen, wo `Cursor' steht, genügt es, noch einmal C-s zu
|
|
betätigen. Wenn es keine nächste Position gibt, dann ertönt ein
|
|
kurzer Ton, und Emacs sagt Ihnen, dass die Suche im Augenblick
|
|
fehlschlägt (`failing'). C-g beendet ebenfalls einen Suchvorgang.
|
|
|
|
Wenn Sie sich mitten in einer inkrementellen Suche befinden und
|
|
<Delete> drücken, wird das letzte Zeichen im Suchstring gelöscht, und
|
|
der Cursor springt zurück auf die letzte Suchposition. Angenommen,
|
|
Sie haben `c' eingegeben, um das erste Auftreten von `c' zu suchen.
|
|
Geben Sie jetzt `u' ein, dann springt der Cursor zu dem ersten
|
|
Auftreten der Zeichenkette `cu'. Wenn Sie jetzt mit <Delete> das `u'
|
|
vom Suchstring löschen, dann springt der Cursor zurück zum ersten `c'.
|
|
Drücken Sie dagegen ein paar mal C-s, um weitere `cu'-Zeichenketten zu
|
|
finden, dann bewirkt <Delete>, dass Sie zum letzten Auftreten von `cu'
|
|
zurückspringen, und erst wenn es kein weiteres `cu' mehr gibt, springt
|
|
der Cursor zum ersten `c' zurück.
|
|
|
|
Die Suche wird ebenfalls beendet, wenn Sie ein CONTROL- oder
|
|
META-Zeichen eingeben (mit ein paar Ausnahmen -- Zeichen, die
|
|
bei einer Suche speziell gehandhabt werden wie C-s oder C-r).
|
|
|
|
C-s versucht, die Zeichenkette NACH der aktuellen Cursorposition zu
|
|
finden. Wollen Sie etwas davor suchen, müssen Sie C-r verwenden. Das
|
|
oben Gesagte gilt völlig analog, jedoch in die entgegengesetzte
|
|
Suchrichtung.
|
|
|
|
|
|
* MEHRFACHE FENSTER
|
|
-------------------
|
|
|
|
Eine weitere, nützliche Fähigkeit von Emacs ist die Möglichkeit, mehr
|
|
als ein Fenster zur gleichen Zeit auf dem Bildschirm darzustellen.
|
|
|
|
>> Bewegen Sie den Cursor zu dieser Zeile und geben Sie C-u 0 C-l ein.
|
|
|
|
>> Drücken Sie nun C-x 2, um den Bildschirm in zwei Fenster zu teilen.
|
|
Beide Fenster zeigen diese Einführung an, und der Cursor bleibt im
|
|
oberen.
|
|
|
|
>> Verwenden Sie C-M-v, um im unteren Fenster zu blättern (Sie können
|
|
statt dessen auch ESC C-v verwenden, falls Sie keine META-Taste
|
|
haben; siehe auch weiter unten).
|
|
|
|
>> Mittels C-x o (das `o' steht für das englische Wort `other', `das
|
|
andere') können Sie den Cursor in das untere Fenster bewegen.
|
|
|
|
>> Benützen Sie C-v und M-v, um im unteren Fenster zu blättern. Lesen
|
|
Sie die Emacs-Einführung jedoch im oberen Fenster weiter.
|
|
|
|
>> Geben Sie C-x o nochmals ein, und der Cursor ist wieder im oberen
|
|
Fenster, genau an der Stelle, wo er vorher war.
|
|
|
|
C-x o ist der Befehl, um zwischen (Emacs-)Fenstern hin- und
|
|
herzuschalten. Jedes Fenster hat eine eigene Cursorposition, aber nur
|
|
das aktuelle Fenster zeigt den Cursor an (unter X11 wird die
|
|
nicht-aktuelle Cursorposition durch ein leeres Rechteck dargestellt).
|
|
Alle normalen Editierbefehle betreffen das Fenster, in dem sich der
|
|
Cursor befindet. Wir nennen dieses Fenster `ausgewählt' (`selected
|
|
window').
|
|
|
|
Der Befehl M-C-v ist sehr nützlich, wenn man Text in einem Fenster
|
|
editiert und das andere Fenster als Referenz verwendet. Der Cursor
|
|
bleibt stets im gleichen Arbeitsfenster, und mit M-C-v kann man bequem
|
|
vorwärtsblättern.
|
|
|
|
M-C-v ist ein Beispiel eines CONTROL-META-Zeichens. Haben Sie eine
|
|
META-Taste, dann kann man M-C-v erzeugen, indem man CTRL und META
|
|
gleichzeitig niedergedrückt hält, während man v eintippt. Es ist
|
|
egal, ob zuerst CTRL oder META niedergedrückt wird, da beide Tasten
|
|
gleichberechtigt das jeweils einzugebende Zeichen modifizieren.
|
|
|
|
Haben Sie keine META-Taste, und Sie verwenden stattdessen ESC, dann
|
|
ist die Reihenfolge nicht mehr egal: Sie müssen zuerst ESC drücken,
|
|
gefolgt von CTRL-v. CTRL-ESC v funktioniert nicht! Der Grund dafür
|
|
ist, dass ESC ein eigenes Zeichen ist und keine Modifizier-Taste wie
|
|
META oder CTRL.
|
|
|
|
Der umgekehrte Befehl zu M-C-v ist M-C-S-v, um im anderen Fenster
|
|
rückwärts zu blättern (d.h., Sie müssen die META-Taste sowie die
|
|
CONTROL- und SHIFT-Taste zusammen mit `v' betätigen) -- jetzt werden
|
|
Sie wahrscheinlich verstehen, warum manche Kritiker das Wort Emacs als
|
|
Abkürzung von Escape-Meta-Alt-Control-Shift betrachten. Leider
|
|
funktioniert diese Befehlsfolge normalerweise nur mit graphischen
|
|
Oberflächen wie X11, da C-v von C-S-v auf den meisten Textterminals
|
|
nicht unterschieden werden kann.
|
|
|
|
[Unter X11 kann man außerdem in der Regel mit den bequemeren
|
|
Tastenkombinationen META-`Bild mit Aufwärtspfeil' bzw. META-`Bild mit
|
|
Abwärtspfeil' ebenfalls im anderen Fenster rück- bzw. vorwärts
|
|
blättern.]
|
|
|
|
>> Entfernen Sie mit C-x 1 (eingegeben im oberen Fenster) das untere
|
|
Fenster.
|
|
|
|
(Hätten Sie C-x 1 im unteren Fenster eingegeben, dann wäre das obere
|
|
Fenster geschlossen worden -- eine Eselsbrücke für C-x 1 ist `ich will
|
|
nur das *eine* Fenster, in dem ich mich gerade befinde.')
|
|
|
|
Sie müssen nicht den gleichen Puffer in beiden Fenstern darstellen.
|
|
Wenn Sie C-x C-f verwenden, um in einem Fenster eine Datei zu laden,
|
|
dann bleibt das andere Fenster unverändert. Sie können in jedem
|
|
Fenster eine andere Datei anzeigen lassen, unabhängig vom anderen
|
|
Fenster.
|
|
|
|
Hier eine andere Möglichkeit, in zwei Fenstern zwei verschiedene
|
|
Texte darzustellen:
|
|
|
|
>> Geben Sie C-x 4 C-f ein, gefolgt vom Namen einer Ihrer Dateien.
|
|
Schließen Sie ab mit <Return>. Beobachten Sie, wie die
|
|
spezifizierte Datei im unteren Fenster erscheint. Der Cursor
|
|
springt ebenfalls in das untere Fenster.
|
|
|
|
>> Bewegen Sie den Cursor mittels C-x o in das obere Fenster und geben
|
|
Sie C-x 1 ein, um das untere Fenster zu schließen.
|
|
|
|
|
|
* REKURSIVE EDITIER-EBENEN
|
|
--------------------------
|
|
|
|
Manchmal kann es passieren, dass Sie in eine sogenannte rekursive
|
|
Editier-Ebene geraten (`recursive editing level'). Sie können das an
|
|
den eckigen Klammern in der Statuszeile erkennen, welche den
|
|
derzeitigen Hauptmodus zusätzlich umschließen, z.B. [(Fundamental)]
|
|
anstelle von (Fundamental).
|
|
|
|
Um eine rekursive Editier-Ebene zu verlassen, geben Sie ESC ESC ESC
|
|
ein. Diese Tastenkombination ist ein allgemeiner
|
|
Ich-will-hier-raus-Befehl. Sie können ihn auch verwenden, um
|
|
unerwünschte Fenster zu schließen und den Minipuffer zu verlassen.
|
|
|
|
>> Geben Sie M-x ein, um in den Minipuffer zu gelangen, und tippen Sie
|
|
dann ESC ESC ESC, um ihn wieder zu verlassen.
|
|
|
|
Mit C-g kann man eine rekursive Editier-Ebene nicht verlassen, da C-g
|
|
Befehle INNERHALB einer rekursiven Editier-Ebene stoppt.
|
|
|
|
Rekursive Editier-Ebenen sind hier in dieser Einführung nicht weiter
|
|
dargestellt. Details finden Sie im Emacs-Handbuch beschrieben.
|
|
|
|
|
|
* MULE
|
|
------
|
|
|
|
Mule ist die Abkürzung für `Multi-lingual Enhancement to GNU Emacs'.
|
|
Früher wurde damit eine spezielle Emacs-Variante bezeichnet, die
|
|
allerdings seit der Version 20 mit Emacs verschmolzen ist.
|
|
|
|
Emacs unterstützt eine große Anzahl von internationalen Zeichensätzen,
|
|
z.B. verschiedene europäische Varianten des lateinischen Alphabets,
|
|
Chinesisch, Russisch oder Thai, um nur einige zu nennen. In dieser
|
|
Einführung wird jedoch nur auf den deutschen Zeichensatz sowie
|
|
Eingabemöglichkeiten für Deutsch näher eingegangen.
|
|
|
|
Der Standard-Zeichensatz für Deutsch ist Latin-1 (auch bekannt unter
|
|
dem Namen ISO-8859-1), obwohl Unicode -- und da besonders die
|
|
Kodierungsvariante UTF-8 -- sich immer mehr durchzusetzt. Wenn
|
|
anstelle der deutschen Umlaute unansehnliche Konstrukte wie `\201ä'
|
|
dargestellt werden, dann ist die sogenannte
|
|
Multibyte-Zeichenunterstützung deaktiviert (intern werden in Emacs
|
|
Nicht-ASCII-Zeichensätze durch mehr als ein Byte repräsentiert). Der
|
|
Befehl `M-x toggle-enable-multibyte-characters' aktiviert die
|
|
Multibyte-Zeichenunterstützung. Denken Sie daran, die Tabulatortaste
|
|
zur Vervollständigung von Befehlsnamen zu benützen, z.B. `M-x
|
|
toggle-e<TAB><Return>'.
|
|
|
|
Wenn anstelle der Umlaute `ä', `ö' oder `ü' die Zeichen `d', `v' und
|
|
`|' erscheinen (also `kleines D', `kleines V' und ein senkrechter
|
|
Strich), dann wird das achte Bit von jedem Byte abgeschnitten, sodass
|
|
nur ASCII-Zeichen dargestellt werden können. In der Regel gibt es
|
|
zwei Ursachen für dieses Problem: Sie haben sich nicht `8-bit clean'
|
|
(z.B. mittels `telnet -8 ...') eingeloggt oder Ihr
|
|
Telekommunikationsprogramm ist nicht für 8-bit konfiguriert. Beides
|
|
ist heutzutage eher unwahrscheinlich, daher wird hier nicht weiter
|
|
darauf eingegangen.
|
|
|
|
>> Geben Sie `M-x toggle-enable-multibyte-characters' ein. Die
|
|
deutschen Umlaute (so sie von Ihrem Terminal darstellbar sind)
|
|
verschwinden und werden durch Zahlenkonstrukte ersetzt. So wird
|
|
zum Beispiel Umlaut a (`ä') dargestellt als `\201ä'.
|
|
|
|
>> Aktivieren Sie wieder die Multibyte-Zeichenunterstützung mittels
|
|
`M-x toggle-enable-multibyte-characters'.
|
|
|
|
Sehen Sie anstelle der Umlaute leere Kästchen (unter X11 oder anderen
|
|
graphischen Oberflächen), sollten Sie Emacs mit C-x C-c beenden und
|
|
folgendermaßen neu starten:
|
|
|
|
emacs -fn fontset-standard
|
|
|
|
Sie können auch probieren, Emacs mit der `--unibyte'-Option zu
|
|
starten, um Latin-1-Zeichen direkt darzustellen.
|
|
|
|
Falls das alles nichts nützt oder Sie Fragezeichen anstelle der
|
|
Umlaute auf ihrem Textterminal sehen, sollten Sie sich an Ihren
|
|
Systemadministrator wenden und sich beschweren, dass kein
|
|
Latin-1-Zeichensatz installiert ist (was heutzutage eigentlich eine
|
|
Selbstverständlichkeit sein sollte). Falls statt der Umlaute andere
|
|
Zeichen auf ihrem Textterminal erscheinen (z.B. kyrillische
|
|
Buchstaben), dann erkundigen Sie sich, wie sie auf Latin-1 umschalten
|
|
können.
|
|
|
|
Lesen Sie im Emacs-Handbuch nach unter dem Stichwort `International',
|
|
welche weitere Optionen es bezüglich Zeichensätze gibt.
|
|
|
|
Ist die Sprachumgebung (`locale') Ihres Betriebssystems korrekt auf
|
|
Deutsch gesetzt, verwendet Emacs diese Einstellungen automatisch.
|
|
Anderenfalls empfiehlt es sich, Latin-1 als Standardkodierung zu
|
|
aktivieren, wenn Sie primär Deutsch verwenden. Benutzen Sie zu diesem
|
|
Zweck die Befehlsfolge
|
|
|
|
C-x <Return> l latin-1 <Return>
|
|
|
|
(C-x <Return> l führt die Funktion set-language-environment aus), um
|
|
in einer laufenden Emacs-Sitzung auf Latin-1 umzuschalten. Dadurch
|
|
wird erreicht, dass Emacs beim Laden einer Datei (und Speichern
|
|
derselben) standardmäßig die Latin-1-Zeichenkodierung verwendet. Sie
|
|
können an der Ziffer 1 unmittelbar vor dem Doppelpunkt links unten in
|
|
der Statuszeile erkennen, dass Sie Latin-1 aktiviert haben. Beachten
|
|
Sie allerdings, dass set-language-environment keinen Einfluss auf die
|
|
Kodierung bereits existierender Puffer hat! Haben Sie eine Datei mit
|
|
deutschem Text in Latin-1-Kodierung irrtümlicherweise in einer
|
|
falschen Kodierung geladen, dann müssen Sie diesen Puffer aus Emacs
|
|
mit dem Befehl C-x k (kill-buffer) entfernen und die Datei erneut
|
|
laden, nachdem Sie mit set-language-environment auf Latin-1
|
|
umgeschaltet haben.
|
|
|
|
>> Führen Sie jetzt C-x <Return> l latin-1 <Return> aus und öffnen Sie
|
|
anschließend eine (neue) Datei mit dem Namen `bar' in einem anderen
|
|
Fenster mittels C-x 4 C-f bar <Return>. In der Statuszeile des
|
|
zweiten Fensters sehen Sie die Ziffer 1 unmittelbar vor dem
|
|
Doppelpunkt.
|
|
|
|
>> Schließen Sie das soeben geöffnete Fenster mit C-x 1 wieder.
|
|
|
|
Wie können Sie nun deutsche Umlaute eingeben? Es gibt prinzipiell
|
|
zwei unterschiedliche Fälle: Sie besitzen eine deutsche Tastatur mit
|
|
Tasten für die Umlaute oder Sie haben eine nicht-deutsche Tastatur.
|
|
Im ersteren Fall sollten Sie die Eingabemethode `german' auswählen,
|
|
welche direkt die Umlaute auf die entsprechenden Tasten abbildet. Im
|
|
letzteren Fall gibt es mehrere Möglichkeiten, wovon zwei hier erklärt
|
|
werden sollen, nämlich `latin-1-prefix' und `latin-1-postfix'. Die
|
|
Präfix-Methode erwartet zuerst den Akzent und dann den Basisbuchstaben
|
|
('a wird zu á, "s zu ß etc.), während bei der Postfix-Methode zuerst
|
|
der Basisbuchstabe und dann der Akzent einzugeben ist (a" wird zu ä,
|
|
s/ wird zu ß etc).
|
|
|
|
Aktiviert wird die jeweilige Eingabe mit dem Befehl
|
|
|
|
C-u C-\ Eingabemethode <Return>
|
|
|
|
(z.B. C-u C-\ german <Return>). Durch diese Befehlsfolge wird der
|
|
sogenannte Quail-Nebenmodus aktiviert, was sich durch eine kleine
|
|
Veränderung in der Statuszeile zeigt: Durch zwei oder drei Zeichen
|
|
unmittelbar vor der Pufferkodierung wird die aktuelle Eingabemethode
|
|
angezeigt. Ist der Eingabemodus einmal gewählt, kann man mit C-\ ihn
|
|
ein- und ausschalten.
|
|
|
|
>> Geben Sie C-u C-\ latin-1-postfix <Return> ein. Beobachten Sie,
|
|
wie links unten in der Statuszeile die Anzeige von `1:**' auf
|
|
`1<1:**' springt. Probieren Sie ä einzugeben mittels a".
|
|
|
|
>> Deaktivieren Sie den Eingabemodus wieder mit C-\.
|
|
|
|
Folgende Kürzel in der Statuszeile repräsentieren die eben
|
|
beschriebenen Eingabemethoden:
|
|
|
|
DE@ german
|
|
1< latin-1-postfix
|
|
1> latin-1-prefix
|
|
|
|
So bedeutet die Angabe `DE@1:**', dass Sie die Eingabemethode `german'
|
|
in einem Puffer mit Latin-1-Kodierung verwenden, und dass die Datei
|
|
bereits modifiziert wurde.
|
|
|
|
[Arbeitet Emacs in einem Terminal, werden noch zwei zusätzliche
|
|
Spalten zwischen Eingabemethode und Pufferkodierung eingefügt, und
|
|
zwar für die Tastatur- und Bildschirmkodierung.]
|
|
|
|
|
|
* WEITERE DOKUMENTATION VON EMACS
|
|
---------------------------------
|
|
|
|
Wir haben uns bemüht, in dieser Einführung genau soviel Information zu
|
|
geben, dass Sie beginnen können, mit Emacs zu arbeiten. Emacs ist
|
|
jedoch so mächtig und umfangreich, dass es den Rahmen einer Einführung
|
|
spränge, an dieser Stelle mehr zu erklären. Um Sie im weiteren
|
|
Lernverlauf zu unterstützen, stellt Emacs eine Reihe von
|
|
Hilfe-Funktionen zu Verfügung, die alle mit dem Präfix C-h (dem
|
|
Hilfe-Zeichen, `Help character') beginnen.
|
|
|
|
Nach dem Drücken von C-h geben Sie ein weiteres Zeichen ein, um Emacs
|
|
zu sagen, worüber Sie mehr Informationen brauchen. Sollten Sie
|
|
WIRKLICH verloren sein, geben Sie C-h ? ein, und Emacs sagt Ihnen,
|
|
welche Art von Hilfe er Ihnen zu Verfügung stellen kann. Haben Sie
|
|
C-h versehentlich gedrückt, können Sie mit C-g sofort abbrechen.
|
|
|
|
(Es kann vorkommen, dass bei manchen Computern bzw. Terminals C-h
|
|
etwas anderes bedeutet. Da erfahrungsgemäß C-h eine der
|
|
meistbenötigten Emacs-Befehle ist, haben Sie einen wirklichen Grund,
|
|
sich in diesem Fall beim Systemadministrator zu beschweren.
|
|
Alternativen zu C-h sind die F1-Taste und der lange Befehl M-x help
|
|
<Return>.)
|
|
|
|
Die elementarste Hilfestellung gibt C-h c. Drücken Sie C-h, dann das
|
|
Zeichen c, und dann einen Befehl: Emacs zeigt daraufhin eine kurze
|
|
Beschreibung des Befehls an.
|
|
|
|
>> Geben Sie C-h c C-p ein.
|
|
Die Antwort darauf (im Echo-Bereich) sollte so ähnlich sein wie
|
|
|
|
C-p runs the command previous-line
|
|
|
|
Somit wissen Sie den `Namen der Funktion'. Funktionsnamen werden
|
|
hauptsächlich benutzt, um Emacs anzupassen bzw. zu erweitern. Aber da
|
|
Namen in der Regel beschreiben, was die jeweilige Funktion tut, können
|
|
sie auch als sehr kurze Beschreibung dienen -- ausreichend, um Sie an
|
|
Befehle zu erinnern, die Sie bereits gelernt haben.
|
|
|
|
Aus mehr als einem Zeichen bestehende Befehle, z.B. C-x C-s oder
|
|
<ESC>v, sind ebenfalls erlaubt nach C-h c.
|
|
|
|
Um eine detaillierte Dokumentation eines Befehls zu erhalten,
|
|
verwenden Sie C-h k anstelle von C-h c.
|
|
|
|
>> Geben Sie C-h k C-p ein.
|
|
|
|
Diese Befehlsfolge zeigt die komplette Dokumentation des Befehls an
|
|
zusammen mit seinem Namen, und zwar in einem eigenem Fenster. Wenn
|
|
Sie die Beschreibung gelesen haben, benützen Sie am besten C-x 1, um
|
|
das Hilfe-Fenster wieder zu schließen. Sie müssen das nicht sofort
|
|
tun -- Sie können weiter Text editieren und das Fenster schließen,
|
|
wenn Sie es nicht mehr brauchen.
|
|
|
|
Hier einige weitere nützliche Optionen von C-h:
|
|
|
|
C-h f Beschreibt eine Funktion. Sie müssen den Namen der
|
|
Funktion eingeben.
|
|
|
|
>> Probieren Sie C-h f previous-line<Return>.
|
|
Alle Information über den C-p-Befehl wird angezeigt.
|
|
|
|
Sie können die Tabulator-Taste stets benützen, um den Namen des
|
|
jeweiligen Befehls zu vervollständigen. Geben Sie z.B. `C-h f
|
|
previous<TAB>' ein, dann werden alle Befehle angezeigt, deren Namen
|
|
mit `previous-' beginnen. Ergänzen Sie die Zeichenkette auf
|
|
`previous-l' und drücken Sie dann <TAB>, bleibt nur noch der Befehl
|
|
`previous-line' übrig, und Sie können mit <Return> abschließen.
|
|
|
|
Ein ähnlicher Befehl ist C-h v. Er zeigt den Wert und die
|
|
Dokumentation von Variablen, deren Werte man ändern kann (um Emacs an
|
|
persönliche Bedürfnisse anzupassen). Auch hier kann man die
|
|
Tabulator-Taste zur Vervollständigung benutzen.
|
|
|
|
C-h a Ein Befehls-Apropos. Gibt man ein Schlüsselwort ein,
|
|
zeigt Emacs alle Befehle, die dieses Schlüsselwort
|
|
enthalten. Alle angezeigten Befehle können mit M-x
|
|
aufgerufen werden. Für einige Kommandos wird
|
|
zusätzlich eine Zeichensequenz (meistens bestehend aus
|
|
einem oder zwei Zeichen) aufgelistet, welche den
|
|
gleichen Befehl startet.
|
|
|
|
>> Geben Sie C-h a file<Return> ein.
|
|
|
|
Alle M-x-Befehle, die das Wort `file' in ihrem Namen enthalten, werden
|
|
angezeigt. Beachten Sie, dass auch C-x C-f aufgelistet wird neben dem
|
|
zugehörigen langen Namen, find-file.
|
|
|
|
>> Blättern Sie mit C-M-v, um sich die Liste der Funktionen anzusehen.
|
|
|
|
>> Schließen Sie das Hilfefenster mit C-x 1.
|
|
|
|
C-h i Dieser Befehl öffnet einen speziellen Puffer, um
|
|
Online-Handbücher zu lesen (im `Info'-Format), die auf
|
|
dem verwendeten Computersystem installiert sind.
|
|
Geben Sie z.B. m emacs <Return> ein, um das
|
|
Emacs-Handbuch zu lesen. Haben Sie `Info' noch nie
|
|
benutzt, tippen Sie ?, und Emacs führt Sie Schritt für
|
|
Schritt durch die Möglichkeiten des Info-Modus. Wenn
|
|
Sie diese Einführung fertiggelesen haben, sollten Sie
|
|
das Info-Handbuch für Emacs als primäre Dokumentation
|
|
benutzen.
|
|
|
|
|
|
* SCHLUSSBEMERKUNG
|
|
------------------
|
|
|
|
Das Wichtigste: Emacs wird mit C-x C-c beendet und mit C-z temporär
|
|
unterbrochen.
|
|
|
|
Diese Einführung soll für alle neuen Benutzer von Emacs verständlich
|
|
sein. Wenn daher etwas unklar sein sollte, hadern Sie nicht mit sich
|
|
selbst. Schreiben Sie an die Free Software Foundation oder an den
|
|
Autor und erläutern Sie, was für Sie unklar geblieben ist. Eine
|
|
weitere Kontaktadresse ist die Mailing-Liste `de@li.org', in der
|
|
Probleme mit der Adaption von GNU-Programmen an das Deutsche
|
|
diskutiert werden.
|
|
|
|
|
|
* RECHTLICHES
|
|
-------------
|
|
|
|
Die englische Version dieser Einführung hat eine lange Vorgeschichte.
|
|
Stuart Cracraft hat für die Urversion von Emacs das erste Tutorial
|
|
geschrieben. Übersetzer ins Deutsche ist Werner Lemberg (wl@gnu.org).
|
|
|
|
Beachten Sie bitte, dass im Zweifelsfalle das englische Original
|
|
dieser Urheberrechtsnotiz gültig ist (zu finden in der Datei
|
|
TUTORIAL).
|
|
|
|
Copyright (C) 1985, 1996, 1997, 2001, 2002, 2003, 2004, 2005, 2006,
|
|
2007, 2008, 2009, 2010 Free Software Foundation, Inc.
|
|
|
|
Diese Datei ist ein Bestandteil von GNU Emacs.
|
|
|
|
Hiermit wird für jedermann die Erlaubnis erteilt, wörtliche,
|
|
unveränderte Kopien dieses Dokumentes für jegliches Medium zu
|
|
erstellen, unter der Voraussetzung, dass die Copyright-Notiz sowie
|
|
diese Erlaubnis beibehalten werden. Außerdem muss der Verteiler
|
|
dieses Dokuments den Empfängern die gleichen Rechte einräumen,
|
|
welche durch diese Erlaubnis gegeben sind.
|
|
|
|
Zugleich wird die Erlaubnis erteilt, modifizierte Versionen dieses
|
|
Dokuments, oder Teile davon, zu verteilen, und zwar zu den oben
|
|
gegebenen Bedingungen unter der Voraussetzung, dass eindeutig zu
|
|
erkennen ist, wer zuletzt dieses Dokument verändert hat.
|
|
|
|
Die Vervielfältigungsbedingungen für Emacs selbst sind etwas
|
|
komplexer, folgen aber in etwa den gleichen Richtlinien. Lesen Sie
|
|
bitte die Datei COPYING und geben Sie Emacs an Ihre Freunde weiter!
|
|
Helfen Sie mit, die Idee von freier Software zu propagieren, indem Sie
|
|
freie Software verwenden, verteilen, oder sogar selber schreiben.
|
|
|
|
--- end of TUTORIAL.de ---
|
|
|
|
;;; Local Variables:
|
|
;;; coding: latin-1
|
|
;;; End:
|
|
|
|
;;; arch-tag: a8f2fe06-631d-4ae1-887e-446f971b0baa
|