mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-11-22 07:09:54 +00:00
1486 lines
64 KiB
Plaintext
1486 lines
64 KiB
Plaintext
Einführung in Emacs. (c) 2002 Free Software Foundation, Inc.
|
|
|
|
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, daß die CONTROL-Taste gedrückt sein muß,
|
|
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, daß die META-Taste gedrückt sein muß,
|
|
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, daß 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 Worte
|
|
`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. Wenn z.B. Ihr Terminalprogramm (mit dem Sie sich über
|
|
eine Modem-Leitung in Ihrem Rechenzentrum oder Internet-Provider
|
|
eingewählt haben) ein vt100-Terminal emuliert, sollte die
|
|
Umgebungsvariable `TERM=vt100' gesetzt sein. Unter dem X Window
|
|
System sollten die Pfeiltasten immer richtig belegt sein.
|
|
|
|
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, daß der Cursor je den sichtbaren Bereich
|
|
verläßt.
|
|
|
|
>> Versuchen Sie den Cursor über den unteren Bildschirmrand hinaus zu
|
|
bewegen und beobachten Sie, was geschieht.
|
|
|
|
Wenn zeichenweise Cursorbewegung zu langsam ist, dann 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äßt.
|
|
|
|
>> Probieren Sie ein paarmal C-a und C-e.
|
|
Probieren Sie dann ein paarmal M-a und M-e.
|
|
|
|
Beachten Sie, daß 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., daß 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 würden.]
|
|
|
|
Die aktuelle Position des Cursors wird im Englischen auch `point'
|
|
(Punkt) genannt. Beachten Sie bitte, daß 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.
|
|
|
|
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 X oder MS-Windows verwenden,
|
|
dann befindet sich ein schmaler, langgezogener rechteckiger Bereich im
|
|
Regelfall auf der linken 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, daß 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, sodaß es den ganzen Bildschirm
|
|
erfaßt. 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, daß <Delete> ein logischer Befehlsname ist, der auf die
|
|
jeweilige Tastatur abgebildet wird. Lesen Sie im Abschnitt `Rebinding
|
|
Keys in Your Init File' 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 paßt. Die Fortsetzungszeile verschwindet wieder.
|
|
|
|
Sie können das Zeilenvorschubzeichen wie jedes andere Zeichen löschen:
|
|
Die Zeilen vor und nach ihm werdan 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, daß 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, daß <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, dann 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, daß `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, daß ein einmaliges Ausführen von C-k den
|
|
Zeileninhalt löscht, und daß 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.
|
|
|
|
Unter dem X Window System besteht 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, daß
|
|
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, dann 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, daß bei
|
|
manchen Tastaturen es 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, daß 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, muß man ihn in einer Datei (`file')
|
|
speichern (`save'). Wird Emacs beendet, ohne daß man vorher den Text
|
|
gespeichert hat, dann ist der Text verloren.
|
|
|
|
Will man andererseits bereits gesicherten Text mit Emacs editieren, so
|
|
muß die entsprechende Datei in Emacs geladen werden (im Englischen
|
|
wird das als `finding' (finden) bzw. als `visiting' (besuchen)
|
|
bezeichnet).
|
|
|
|
Eine Datei `finden' bedeutet, daß 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, daß
|
|
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, daß 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 kennengelernt.
|
|
|
|
Um eine Datei in Emacs laden zu können, muß 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 in den 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.
|
|
|
|
Anmerkung: Bei einigen Systemen scheint es, als ob das Ausführen von
|
|
C-x C-s Emacs abstürzen ließe (Emacs reagiert mit keinen Meldungen
|
|
mehr; der Bildschirm scheint eingefroren). Dieser Effekt tritt auf,
|
|
wenn das Betriebssystem das Zeichen C-s abfängt (es wird für `flow
|
|
control' verwendet) und nicht an Emacs weiterreicht. Um den
|
|
Bildschirm wieder zum Leben zu erwecken, geben Sie C-q ein, und lesen
|
|
Sie dann den Abschnitt `Spontaneous Entry to Incremental Search' im
|
|
Emacs-Handbuch, was man am besten tun kann. Das Emacs-Handbuch ist
|
|
übrigens auch online verfügbar mittels C-h i, und zwar im Abschnitt
|
|
`Emacs' (unter der Voraussetzung natürlich, daß die Info-Dateien von
|
|
Emacs auch installiert wurden. Wenn nicht, beschweren Sie sich bei
|
|
Ihrem System-Administrator).
|
|
|
|
[Eine erste Abhilfe zur Umschiffung des C-s-Problems schafft die
|
|
Befehlsfolge `M-x save-buffer', welche exakt das gleiche wie C-x C-s
|
|
bewirkt.]
|
|
|
|
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, daß 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.
|
|
|
|
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, daß man einen Befehl braucht, um den Puffer der ersten
|
|
Datei permanent abzuspeichern. Es wäre äußerst umständlich, müßte 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 zwei Befehle
|
|
aus der ersten Kategorie kennengelernt: 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. Bei X bewirkt C-z in der Regel, daß 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 C-b zeige Pufferliste an
|
|
C-x C-c beende Emacs
|
|
C-x u widerrufen
|
|
C-x 1 lösche alle Fenster außer eines
|
|
|
|
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, daß 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, so 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 (Fundamental)--L865--58%----------------
|
|
|
|
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 paßt, dann erscheint `--All--'.]
|
|
|
|
Das `L' und die nachfolgenden Ziffern geben die aktuelle Zeilennummer
|
|
an, in denen 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, daß 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, daß 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 bißchen 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 englischeDokumentation 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, daß 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 muß.
|
|
|
|
>> Bewegen Sie den Cursor zurück zum letzten Absatz und drücken Sie
|
|
M-q.
|
|
|
|
|
|
* SUCHEN
|
|
--------
|
|
|
|
Emacs kann Zeichenketten (`strings') entweder vorwärts (`forward')
|
|
oder 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, daß Emacs jetzt in
|
|
einer inkrementellen Suche ist und darauf wartet, daß Sie den
|
|
gewünschten Suchstring 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, daß die Suche im Augenblick
|
|
fehlschlägt (`failing'). C-g beendet ebenfalls einen Suchvorgang.
|
|
|
|
Anmerkung: Wie weiter oben schon einmal erwähnt, scheint es bei
|
|
einigen Systemen, als ob das Ausführen von C-s Emacs abstürzen läßt
|
|
(Emacs reagiert mit keinen Meldungen mehr; der Bildschirm wirkt
|
|
eingefroren). Dieser Effekt tritt auf, wenn das Betriebssystem das
|
|
Zeichen C-s abfängt (es wird für `flow control' verwendet) und nicht
|
|
an Emacs weiterreicht. Um den Bildschirm wieder zum Leben zu
|
|
erwecken, geben Sie C-q ein, und lesen Sie dann den Abschnitt
|
|
`Spontaneous Entry to Incremental Search' im Emacs-Handbuch, was man
|
|
am besten tun kann.
|
|
|
|
Wenn Sie sich mitten in einer inkrementellen Suche befinden und
|
|
<Delete> drücken, dann 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>, daß 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.
|
|
|
|
>> Schreiben 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 X 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 `selektiert' (`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, daß 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 dem X Window
|
|
System, da C-v von C-S-v auf den meisten Textterminals nicht
|
|
unterschieden werden kann.
|
|
|
|
[Unter X 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, daß 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). 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). Durch den Befehl `M-x
|
|
toggle-enable-multibyte-characters' wird die
|
|
Multibyte-Zeichenunterstützung aktiviert.
|
|
|
|
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, sodaß
|
|
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.
|
|
|
|
>> Geben Sie C-x <Return> m 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
|
|
C-x <Return> m.
|
|
|
|
Sehen Sie anstelle der Umlaute leere Kästchen (unter X), dann sollten
|
|
Sie mit C-x C-c Emacs beenden und folgendermaßen neu starten:
|
|
|
|
emacs -fn fontset-standard
|
|
|
|
Bei einem Textterminal gibt es weiter die Möglichkeit, die
|
|
Befehlsfolge `M-x standard-display-european' auszuführen, wodurch
|
|
Emacs die Multibyte-Zeichenunterstützung deaktiviert und direkt
|
|
Latin-1-Zeichen darzustellen versucht. Sie können auch probieren,
|
|
Emacs mit der `--unibyte'-Option zu starten, was einen ähnlichen
|
|
Effekt bewirkt.
|
|
|
|
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, daß 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.
|
|
|
|
Es empfiehlt 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, daß 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, daß Sie Latin-1 aktiviert haben. Beachten
|
|
Sie allerdings, daß set-language-environment keinen Einfluß 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:**', daß Sie die Eingabemethode `german'
|
|
in einem Puffer mit Latin-1-Kodierung verwenden, und daß 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, daß Sie beginnen können, mit Emacs zu arbeiten. Emacs ist
|
|
jedoch so mächtig und umfangreich, daß 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, daß 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. Schreiben 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,
|
|
dann 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, daß 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, dann 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, daß im Zweifelsfalle das englische Original dieser
|
|
Urheberrechtsnotiz gültig ist (zu finden in der Datei TUTORIAL).
|
|
|
|
Copyright (c) 1985, 1996, 1997 Free Software Foundation
|
|
|
|
Hiermit wird für jedermann die Erlaubnis erteilt, wörtliche,
|
|
unveränderte Kopien dieses Dokumentes für jegliches Medium zu
|
|
erstellen, unter der Voraussetzung, daß die Copyright-Notiz sowie
|
|
diese Erlaubnis beibehalten werden. Außerdem muß 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, daß 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:
|