TUTORIAL.de 64.6 KB
Newer Older
1
Einführung in Emacs.  Siehe Dateiende für Vervielfältigungsbedingungen.
Dave Love's avatar
#  
Dave Love committed
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18

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:
19 20
<<Blank lines inserted here by startup of help-with-tutorial>>
[Leerzeilen befinden sich hier aus didaktischen Gründen.  Fortsetzung unten.]
Dave Love's avatar
#  
Dave Love committed
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146
>> 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
Werner LEMBERG's avatar
Werner LEMBERG committed
147
Cursor wortweise bewegen.  M-f (META-f) bewegt den Cursor ein Wort
Dave Love's avatar
#  
Dave Love committed
148 149 150 151 152 153 154 155 156 157 158 159 160 161
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
Werner LEMBERG's avatar
Werner LEMBERG committed
162
M-b andererseits.  Sehr oft werden mit `META-' beginnende Befehle für
Dave Love's avatar
#  
Dave Love committed
163
Operationen verwendet, die mit Sprache zu tun haben (Wörter, Sätze,
Werner LEMBERG's avatar
Werner LEMBERG committed
164
Absätze), während CONTROL-Befehle mit den Text-Basiseinheiten
Dave Love's avatar
#  
Dave Love committed
165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188
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
Andreas Schwab's avatar
Andreas Schwab committed
189
standardmäßig wie C-a und C-e, wie wohl die meisten Benutzer
190
annehmen.]
Dave Love's avatar
#  
Dave Love committed
191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217

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.

Werner LEMBERG's avatar
Werner LEMBERG committed
218 219
Zwei weitere wichtige Befehle für die Cursorbewegung sind M-< (META
Kleiner-als) und M-> (META Größer-als), welche zum Anfang bzw. zum
Dave Love's avatar
#  
Dave Love committed
220 221 222
Ende des ganzen Textes springen.

Bei den meisten Terminal-Tastaturen befindet sich `<' über dem Komma,
223
d.h., Sie müssen zusätzlich die SHIFT-Taste verwenden (der Umschalter
Dave Love's avatar
#  
Dave Love committed
224
ist auf deutschen Tastaturen normalerweise mit einem dicken
Werner LEMBERG's avatar
Werner LEMBERG committed
225
Aufwärtspfeil markiert).  Ohne SHIFT-Taste würden Sie M-Komma
Dave Love's avatar
#  
Dave Love committed
226 227
eingeben.

Andreas Schwab's avatar
Andreas Schwab committed
228
>> Testen Sie nun M-<, um an den Anfang der Einführung
Dave Love's avatar
#  
Dave Love committed
229 230 231
   zu gelangen.  Verwenden Sie dann C-v, um wieder hierher zu kommen.

Ein weiteres, oft benütztes Konzept in Emacs ist die Markierung
Werner LEMBERG's avatar
Werner LEMBERG committed
232 233 234 235 236 237 238
(`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.
Dave Love's avatar
#  
Dave Love committed
239

Andreas Schwab's avatar
Andreas Schwab committed
240
>> Verwenden Sie jetzt M->, um zum Ende der Einführung
Dave Love's avatar
#  
Dave Love committed
241 242 243 244 245 246 247 248 249 250 251 252 253 254
   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
255
der Regel als Wiederholungszähler dient (d.h., wie oft der Befehl
Dave Love's avatar
#  
Dave Love committed
256 257 258 259 260
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.
261 262
Das numerische Argument wird auch `Präfix-Argument' genannt, da man es
vor dem zugehörigen Befehl eingibt.
Dave Love's avatar
#  
Dave Love committed
263 264 265 266 267 268

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.
269

Dave Love's avatar
#  
Dave Love committed
270
Wie gesagt, die meisten Befehle verwenden das numerische Argument als
Werner LEMBERG's avatar
Werner LEMBERG committed
271 272 273 274 275 276
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
Dave Love's avatar
#  
Dave Love committed
277 278 279 280 281 282 283 284 285 286
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.

Werner LEMBERG's avatar
Werner LEMBERG committed
287 288 289 290 291
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.
Dave Love's avatar
#  
Dave Love committed
292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335

>> 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.

Werner LEMBERG's avatar
Werner LEMBERG committed
336 337
>> Geben Sie C-x C-l ein (das ist ein deaktivierter Befehl) und
   drücken Sie n als Antwort auf die Frage.
Dave Love's avatar
#  
Dave Love committed
338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403


* 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
Werner LEMBERG's avatar
Werner LEMBERG committed
404 405
`Backslash'-Zeichen (`\') bzw. ein kleiner gebogener Pfeil (bei
graphischen Oberflächen) am rechten Rand verdeutlicht das.
Dave Love's avatar
#  
Dave Love committed
406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451

>> 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.

Werner LEMBERG's avatar
Werner LEMBERG committed
452 453 454 455 456 457 458 459 460 461 462 463 464 465 466
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.

Dave Love's avatar
#  
Dave Love committed
467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483
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
484
gespeichert und kann daher auch nicht zurückgeholt werden.
Dave Love's avatar
#  
Dave Love committed
485 486 487 488 489 490 491 492 493 494 495 496 497 498 499

>> 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')
500 501 502 503
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.
Dave Love's avatar
#  
Dave Love committed
504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584

>> 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
585
manchen Tastaturen nicht sofort einsichtig ist, wie man das eingibt.
Dave Love's avatar
#  
Dave Love committed
586 587 588 589 590 591 592 593 594

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
595 596 597
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.
Dave Love's avatar
#  
Dave Love committed
598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629


* 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
Werner LEMBERG's avatar
Werner LEMBERG committed
630
Zeichen: Beide beginnen mit CONTROL-x.  Es gibt eine ganze Reihe von
Dave Love's avatar
#  
Dave Love committed
631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792
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
793 794 795
umschalten.  Unter X Window System 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.
Dave Love's avatar
#  
Dave Love committed
796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819

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
Werner LEMBERG's avatar
Werner LEMBERG committed
820
        C-x 1           lösche alle Fenster außer eines
Dave Love's avatar
#  
Dave Love committed
821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883

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:

884
-1:**  TUTORIAL.de    58% L865    (Fundamental)----------------------
Dave Love's avatar
#  
Dave Love committed
885 886 887 888 889 890 891

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
892 893 894 895
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'.
Werner LEMBERG's avatar
Werner LEMBERG committed
896 897 898

Das `L' und die nachfolgenden Ziffern geben die aktuelle Zeilennummer
an, in denen sich der Cursor befindet.
Dave Love's avatar
#  
Dave Love committed
899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946

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.]

Werner LEMBERG's avatar
Werner LEMBERG committed
947
>> Geben Sie `M-x text mode<Return>' ein.
Dave Love's avatar
#  
Dave Love committed
948 949

Sie brauchen keine Angst zu haben, daß sich die bisher dargestellte
Werner LEMBERG's avatar
Werner LEMBERG committed
950 951 952 953 954
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.
Dave Love's avatar
#  
Dave Love committed
955 956 957 958 959 960 961 962 963

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.
964
>> Lesen Sie nun mittels C-h m die englische Dokumentation zum
Dave Love's avatar
#  
Dave Love committed
965 966 967 968 969 970 971 972 973
   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,
974
Sie können zu Ihrem Hauptmodus keinen, einen oder sogar mehrere
Dave Love's avatar
#  
Dave Love committed
975 976 977 978 979 980 981
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.

Werner LEMBERG's avatar
Werner LEMBERG committed
982 983 984 985 986
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
Dave Love's avatar
#  
Dave Love committed
987 988 989 990
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
991
   anschließend eine Zeile ein, die aus lauter `asdf ' besteht, und
Dave Love's avatar
#  
Dave Love committed
992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017
   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
--------

1018 1019 1020 1021
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.
Dave Love's avatar
#  
Dave Love committed
1022 1023 1024 1025 1026

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.

1027
Der Befehl für Vorwärtssuchen ist C-s und C-r für Rückwärtssuchen.
Dave Love's avatar
#  
Dave Love committed
1028 1029
ABER HALT!  Probieren Sie bitte diese Befehle noch nicht.

1030 1031 1032 1033
Wenn Sie C-s eingeben, dann erscheint die Zeichenkette `I-search:' als
Eingabeaufforderung im Echobereich.  Das bedeutet, daß Emacs jetzt
eine inkrementellen Suche ausführt und darauf wartet, daß Sie die zu
suchende Zeichenkette eingeben.  <Return> beendet die Suche.
Dave Love's avatar
#  
Dave Love committed
1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063

>> 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
1064 1065 1066 1067 1068 1069 1070 1071 1072 1073
<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>, 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.
Dave Love's avatar
#  
Dave Love committed
1074

Werner LEMBERG's avatar
Werner LEMBERG committed
1075 1076
Die Suche wird ebenfalls beendet, wenn Sie ein CONTROL- oder
META-Zeichen eingeben (mit ein paar Ausnahmen -- Zeichen, die
Dave Love's avatar
#  
Dave Love committed
1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097
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
Werner LEMBERG's avatar
Werner LEMBERG committed
1098
   statt dessen auch ESC C-v verwenden, falls Sie keine META-Taste
Dave Love's avatar
#  
Dave Love committed
1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135
   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
Werner LEMBERG's avatar
Werner LEMBERG committed
1136 1137
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
Dave Love's avatar
#  
Dave Love committed
1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212
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
1213 1214 1215
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
Dave Love's avatar
#  
Dave Love committed
1216 1217
repräsentiert).  Durch den Befehl `M-x
toggle-enable-multibyte-characters' wird die
1218 1219 1220
Multibyte-Zeichenunterstützung aktiviert.  Denken Sie daran, die
Tabulatortaste zur Vervollständigung von Befehlsnamen zu benützen,
z.B. `M-x toggle-e<TAB><Return>'.
Dave Love's avatar
#  
Dave Love committed
1221 1222

Wenn anstelle der Umlaute `ä', `ö' oder `ü' die Zeichen `d', `v' und
1223
`|' erscheinen (also `kleines D', `kleines V' und ein senkrechter
Dave Love's avatar
#  
Dave Love committed
1224 1225 1226 1227 1228 1229
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.

1230 1231 1232 1233
>> 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ä'.
Dave Love's avatar
#  
Dave Love committed
1234 1235

>> Aktivieren Sie wieder die Multibyte-Zeichenunterstützung mittels
1236
   `M-x toggle-enable-multibyte-characters'.
Dave Love's avatar
#  
Dave Love committed
1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402

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.

1403 1404 1405 1406 1407
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.

Dave Love's avatar
#  
Dave Love committed
1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425
   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.

1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436
   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.

Dave Love's avatar
#  
Dave Love committed
1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452

* 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.


Werner LEMBERG's avatar
Werner LEMBERG committed
1453 1454
* RECHTLICHES
-------------
Dave Love's avatar
#  
Dave Love committed
1455 1456 1457 1458 1459 1460 1461 1462

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).

1463 1464
Copyright (C) 1985, 1996, 1997, 2002, 2003, 2004,
   2005 Free Software Foundation
Dave Love's avatar
#  
Dave Love committed
1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488

   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:
Miles Bader's avatar
Miles Bader committed
1489 1490

;;; arch-tag: a8f2fe06-631d-4ae1-887e-446f971b0baa