| 1 | Einführung in Emacs. Siehe Dateiende für Vervielfältigungsbedingungen. |
| 2 | |
| 3 | Emacs-Befehle beinhalten im allgemeinen die CONTROL-Taste (manchmal |
| 4 | auch als CTRL, CTL oder STRG beschriftet) sowie die META-Taste (auch |
| 5 | EDIT oder ALT genannt). Folgende Abkürzungen werden verwendet: |
| 6 | |
| 7 | C-<Zeichen> bedeutet, dass die CONTROL-Taste gedrückt sein muss, |
| 8 | während man das Zeichen <Zeichen> eingibt. Beispiel: |
| 9 | C-f Halten Sie die CONTROL-Taste gedrückt und drücken |
| 10 | Sie dann die f-Taste. |
| 11 | M-<Zeichen> bedeutet, dass die META-Taste gedrückt sein muss, |
| 12 | während man das Zeichen <Zeichen> eingibt. Statt dessen |
| 13 | kann man auch die ESC-Taste und anschließend <Zeichen> |
| 14 | drücken (hintereinander, nicht gleichzeitig). Beispiel: |
| 15 | M-f Halten Sie die META-Taste gedrückt und geben |
| 16 | Sie den Buchstaben (klein) f ein. |
| 17 | |
| 18 | »>>« am linken Rand ist ein Hinweis, einen Befehl auszuprobieren: |
| 19 | <<Blank lines inserted here by startup of help-with-tutorial>> |
| 20 | [Leerzeilen befinden sich hier aus didaktischen Gründen. Fortsetzung unten.] |
| 21 | >> Drücken Sie C-v, um zur nächsten Bildschirmseite vorzublättern. |
| 22 | Ab jetzt sollten Sie das stets tun, wenn Sie eine Seite fertig |
| 23 | gelesen haben. |
| 24 | |
| 25 | Beachten Sie bitte, dass beim Blättern die untersten zwei Zeilen der |
| 26 | vorigen Bildschirmseite als die zwei obersten Zeilen der neuen Seite |
| 27 | erscheinen, um eine gewisse Kontinuität während des Lesens zu |
| 28 | ermöglichen. |
| 29 | |
| 30 | Wichtig: Sie können Emacs mit der Befehlsfolge C-x C-c beenden. |
| 31 | |
| 32 | Im weiteren wird die ESC-Taste mit <ESC> bezeichnet. |
| 33 | |
| 34 | [Falls die deutschen Umlaute nicht korrekt auf dem Bildschirm |
| 35 | erscheinen, lesen Sie bitte den Abschnitt »MULE« kurz vor Ende dieser |
| 36 | Einführung.] |
| 37 | |
| 38 | Zunächst müssen Sie wissen, wie man sich innerhalb eines Dokuments |
| 39 | bewegen kann. Wie man eine Bildschirmseite vorwärts blättert, wissen |
| 40 | Sie schon (C-v). Mit M-v blättern Sie eine Bildschirmseite zurück |
| 41 | (halten Sie die META-Taste gedrückt und geben Sie v ein, oder drücken |
| 42 | Sie zuerst <ESC> und anschließend v). |
| 43 | |
| 44 | >> Probieren Sie einige Male M-v und C-v aus. |
| 45 | |
| 46 | [Auf den meisten Tastaturen bewirkt die PgUp-Taste (»page up«, auch |
| 47 | mit »Bild« und einem Aufwärtspfeil beschriftet) dasselbe wie M-v bzw. |
| 48 | die PgDn-Taste (»page down«, »Bild« mit Abwärtspfeil) dasselbe wie |
| 49 | C-v.] |
| 50 | |
| 51 | |
| 52 | * ZUSAMMENFASSUNG |
| 53 | ----------------- |
| 54 | |
| 55 | Die folgenden Befehle sind nützlich, um Text bildschirmweise zu |
| 56 | betrachten: |
| 57 | |
| 58 | C-v eine Seite vorwärts blättern |
| 59 | M-v eine Seite zurück blättern |
| 60 | C-l lösche den Bildschirm und stelle den ganzen Text |
| 61 | erneut dar, wobei der Text rund um den Cursor zur |
| 62 | Mitte des Bildschirms bewegt wird. |
| 63 | (»l« ist der Buchstabe »klein L«, nicht die Ziffer 1.) |
| 64 | |
| 65 | |
| 66 | >> Finden Sie den Cursor und merken sich den Text in dessen Umgebung. |
| 67 | Drücken Sie C-l. Der Cursor ist jetzt ungefähr in der (vertikalen) |
| 68 | Bildschirmmitte, und er hat seine Position relativ zum Text nicht |
| 69 | geändert. Wiederholtes Drücken von C-l bewegt den Text zum oberen |
| 70 | Bildschirmrand, dann zum unteren, und dann wieder zur Mitte. |
| 71 | |
| 72 | |
| 73 | * KONTROLLE DES CURSORS |
| 74 | ----------------------- |
| 75 | |
| 76 | Text bildschirmweise anzuschauen ist sicherlich praktisch, aber wie |
| 77 | kommt man zu einer bestimmten Position innerhalb des gerade |
| 78 | dargestellten Textes? |
| 79 | |
| 80 | Es gibt verschiedene Möglichkeiten. Die Grundbefehle sind C-p, C-b, |
| 81 | C-f und C-n. Dem folgenden Diagramm können Sie entnehmen, welcher |
| 82 | Befehl den Cursor wohin bewegt: |
| 83 | |
| 84 | |
| 85 | vorige Zeile, C-p |
| 86 | : |
| 87 | : |
| 88 | zurück, C-b .... momentane Cursor-Position .... vorwärts, C-f |
| 89 | : |
| 90 | : |
| 91 | nächste Zeile, C-n |
| 92 | |
| 93 | |
| 94 | [Die Buchstaben p, b, f und n stehen für die englischen Wörter |
| 95 | »previous«, »backward«, »forward« und »next«.] |
| 96 | |
| 97 | >> Bewegen Sie den Cursor zur Zeile in der Mitte des Diagramms mittels |
| 98 | C-n oder C-p. Geben Sie dann C-l ein, und das ganze Diagramm ist |
| 99 | zentriert auf dem Bildschirm. |
| 100 | |
| 101 | Normalerweise sind die vier Pfeiltasten mit den Cursor-Grundbefehlen |
| 102 | belegt. Falls nicht, sollten Sie Ihre Terminalkonfiguration |
| 103 | überprüfen. |
| 104 | |
| 105 | Es ist von großer Wichtigkeit, sich mit obigen Cursor-Befehlen |
| 106 | vertraut zu machen, da man sie ständig braucht (besonders wenn man mit |
| 107 | Terminal-Emulationen arbeitet, welche die Pfeiltasten nicht |
| 108 | unterstützen). |
| 109 | |
| 110 | >> Drücken Sie ein paarmal C-n, um den Cursor zu dieser Zeile zu |
| 111 | bewegen. |
| 112 | |
| 113 | >> Bewegen Sie den Cursor vorwärts mittels C-f und nach oben mit C-p. |
| 114 | Beobachten Sie, was C-p tut, wenn der Cursor sich in der |
| 115 | Zeilenmitte befindet. |
| 116 | |
| 117 | Jede Textzeile endet mit einem Zeilenvorschub-Zeichen (»newline«), das |
| 118 | sie von der folgenden Zeile trennt. Die letzte Zeile in einer Datei |
| 119 | hat normalerweise ebenfalls einen Zeilenvorschub am Schluss, Emacs |
| 120 | benötigt ihn aber nicht. |
| 121 | |
| 122 | >> Probieren Sie C-b am Anfang einer Zeile. Der Cursor sollte zum |
| 123 | Ende der vorigen Zeile springen: C-b überspringt |
| 124 | Zeilenvorschub-Zeichen. |
| 125 | |
| 126 | C-f überspringt Zeilenvorschub-Zeichen analog zu C-b. |
| 127 | |
| 128 | >> Drücken Sie noch ein paarmal C-b, um ein Gefühl für den Cursor zu |
| 129 | bekommen. Bewegen sie anschließend den Cursor mittels C-f zum Ende |
| 130 | der Zeile. Geben Sie jetzt noch einmal C-f ein, um zur nächsten |
| 131 | Zeile zu springen. |
| 132 | |
| 133 | >> Falls die Pfeiltasten funktionieren, können Sie mit diesen das |
| 134 | gleiche probieren und üben. |
| 135 | |
| 136 | Wenn Sie den Cursor entweder nach oben oder nach unten über den |
| 137 | Bildschirmrand hinaus bewegen wollen, dann wird statt dessen Text in |
| 138 | den Bildschirm hineingeschoben. Dies nennt man »scrolling«. Auf |
| 139 | diese Weise verhindert Emacs, dass der Cursor je den sichtbaren |
| 140 | Bereich verlässt. |
| 141 | |
| 142 | >> Versuchen Sie den Cursor über den unteren Bildschirmrand hinaus zu |
| 143 | bewegen und beobachten Sie, was geschieht. |
| 144 | |
| 145 | Wenn zeichenweise Cursorbewegung zu langsam ist, kann man den Cursor |
| 146 | wortweise bewegen. M-f (META-f) bewegt den Cursor ein Wort vor, und |
| 147 | M-b ein Wort zurück. |
| 148 | |
| 149 | >> Geben Sie ein paarmal M-f und M-b ein. |
| 150 | |
| 151 | Befinden Sie sich in der Mitte eines Wortes, bewegt M-f den Cursor zum |
| 152 | Ende des Wortes. Befinden Sie dagegen sich in einem Wortzwischenraum, |
| 153 | bewegt M-f den Cursor zum Ende des nächsten Wortes. M-b arbeitet |
| 154 | analog, aber in die entgegengesetzte Richtung. |
| 155 | |
| 156 | >> Kombinieren Sie M-f und M-b mit den Befehlen C-f und C-b, um die |
| 157 | Cursorbewegung von verschiedenen Positionen aus innerhalb und |
| 158 | zwischen Wörtern zu beobachten. |
| 159 | |
| 160 | Beachten Sie die Parallele zwischen C-f und C-b einerseits und M-f und |
| 161 | M-b andererseits. Sehr oft werden mit »META-« beginnende Befehle für |
| 162 | Operationen verwendet, die mit Sprache zu tun haben (Wörter, Sätze, |
| 163 | Absätze), während CONTROL-Befehle mit den Text-Basiseinheiten |
| 164 | operieren, unabhängig davon, was Sie gerade editieren (Zeichen, |
| 165 | Buchstaben, Zeilen etc). |
| 166 | |
| 167 | Ein anderes Beispiel: C-a und C-e bewegt den Cursor zum Anfang |
| 168 | bzw. zum Ende einer Zeile, wohingegen M-a und M-e den Cursor zum |
| 169 | Anfang bzw. zum Ende eines Satzes springen lässt. |
| 170 | |
| 171 | >> Probieren Sie ein paarmal C-a und C-e. |
| 172 | Probieren Sie dann ein paarmal M-a und M-e. |
| 173 | |
| 174 | Beachten Sie, dass ein wiederholtes Drücken von C-a nichts bewirkt, |
| 175 | dagegen M-a den Cursor satzweise zurücksetzt. Hier endet die |
| 176 | Analogie, jedoch ist das Verhalten dieser Befehle leicht |
| 177 | nachvollziehbar. |
| 178 | |
| 179 | [Anmerkung 1: Im Deutschen kommt laut Duden nach einem Punkt nur ein |
| 180 | Leerzeichen. Falls Sie aber Texte schreiben, die weiter verarbeitet |
| 181 | werden (z.B. durch ein Textformatierprogramm wie TeX), dann sollten |
| 182 | Sie sich angewöhnen, nach einem Satzende stets ZWEI Leerzeichen zu |
| 183 | lassen. Dadurch ermöglichen Sie u.a., dass Emacs zwischen |
| 184 | Abkürzungspunkten und dem Satzende unterscheiden kann, was für |
| 185 | Textsuche in wissenschaftlichen Texten oft vorteilhaft ist.] |
| 186 | |
| 187 | [Anmerkung 2: Die Tasten »Home« (Pos1) und »End« (Ende) verhalten sich |
| 188 | standardmäßig wie C-a und C-e, wie wohl die meisten Benutzer |
| 189 | annehmen.] |
| 190 | |
| 191 | Die aktuelle Position des Cursors wird im Englischen auch »point« |
| 192 | (Punkt) genannt. Beachten Sie bitte, dass sich »point« stets |
| 193 | *zwischen* zwei Zeichen befindet, nämlich genau vor dem |
| 194 | Cursor-Kästchen. |
| 195 | |
| 196 | Hier ist eine Zusammenfassung von einfachen Bewegungsbefehlen für den |
| 197 | Cursor einschließlich der Wort- und Satzbewegungsbefehle: |
| 198 | |
| 199 | C-f ein Zeichen vorwärts (auch »Pfeil rechts«-Taste) |
| 200 | C-b ein Zeichen zurück (auch »Pfeil links«-Taste) |
| 201 | |
| 202 | M-f ein Wort vorwärts |
| 203 | M-b ein Wort zurück |
| 204 | |
| 205 | C-n eine Zeile vorwärts (auch »Pfeil hinunter«-Taste) |
| 206 | C-p eine Zeile zurück (auch »Pfeil hinauf«-Taste) |
| 207 | |
| 208 | C-a zum Zeilenanfang |
| 209 | C-e zum Zeilenende |
| 210 | |
| 211 | M-a zum Satzanfang |
| 212 | M-e zum Satzende |
| 213 | |
| 214 | >> Probieren Sie diese Befehle jetzt ein paarmal zur Übung. |
| 215 | Es sind die meistverwendeten Befehle innerhalb Emacs. |
| 216 | |
| 217 | Zwei weitere wichtige Befehle für die Cursorbewegung sind M-< (META |
| 218 | Kleiner-als) und M-> (META Größer-als), welche zum Anfang bzw. zum |
| 219 | Ende des ganzen Textes springen. |
| 220 | |
| 221 | Bei den meisten Terminal-Tastaturen befindet sich »<« über dem Komma, |
| 222 | d.h., Sie müssen zusätzlich die SHIFT-Taste verwenden (der Umschalter |
| 223 | ist auf deutschen Tastaturen normalerweise mit einem dicken |
| 224 | Aufwärtspfeil markiert). Ohne SHIFT-Taste würden Sie M-Komma |
| 225 | eingeben. |
| 226 | |
| 227 | >> Testen Sie nun M-<, um an den Anfang der Einführung |
| 228 | zu gelangen. Verwenden Sie dann C-v, um wieder hierher zu kommen. |
| 229 | |
| 230 | [Anmerkung: Die Tastenkombinationen »C-Home« (Pos1) und »C-End« (Ende) |
| 231 | verhalten sich standardmäßig wie M-< und M->.] |
| 232 | |
| 233 | Ein weiteres, oft benütztes Konzept in Emacs ist die Markierung |
| 234 | (»mark«). Der Grundbefehl dazu ist C-SPC (oder gleichwertig C-@, |
| 235 | »SPC« bezeichnet die Leertaste, engl. »space key«); mit ihm kann eine |
| 236 | Markierung gesetzt werden. Mit C-u C-SPC kommt man zu dieser |
| 237 | Markierung zurück, falls man den Cursor inzwischen weiterbewegt hat. |
| 238 | Viele Befehle, die große Sprünge in einem Text ausführen (so auch M-> |
| 239 | und M-<) setzen eine Markierung implizit, was in der untersten Zeile |
| 240 | (dem Echobereich, s.u.) als »Mark set« angezeigt wird. |
| 241 | |
| 242 | >> Verwenden Sie jetzt M->, um zum Ende der Einführung |
| 243 | zu springen und benützen Sie C-u C-SPC, um hierher zurückzukehren. |
| 244 | |
| 245 | Markierungen werden in einem Ring gespeichert (d.h., die zuletzt in |
| 246 | den Ring eingehängte Markierung wird als erste zurückgeholt und wie |
| 247 | bei einem Schlüsselbund am Ende wieder in den Ring eingefügt). Mit |
| 248 | C-u C-SPC können Sie Stück für Stück alle Markierungen im |
| 249 | Markierungsring ansteuern. |
| 250 | |
| 251 | >> Drücken Sie hier C-SPC, gehen Sie dann zu verschiedenen Positionen |
| 252 | innerhalb dieses Dokuments und verwenden Sie C-SPC, um weitere |
| 253 | Markierungen zu setzen. Geben Sie anschließend C-u C-SPC so oft |
| 254 | ein, bis Sie wieder an dieser Position angelangt sind. |
| 255 | |
| 256 | Die meisten Emacs-Befehle akzeptieren ein numerisches Argument, das in |
| 257 | der Regel als Wiederholungszähler dient (d.h., wie oft der Befehl |
| 258 | ausgeführt werden soll). Eingegeben wird diese Zahl mit C-u, dann die |
| 259 | Ziffern und dann der Befehl selbst. Alternativ können Sie die |
| 260 | META-Taste (bzw. EDIT- oder ALT-Taste) gedrückt halten und dann die |
| 261 | Ziffern des Wiederholungszählers eingeben. Wir empfehlen allerdings, |
| 262 | die C-u-Methode zu lernen, da sie mit jedem Terminal funktioniert. |
| 263 | Das numerische Argument wird auch »Präfix-Argument« genannt, da man es |
| 264 | vor dem zugehörigen Befehl eingibt. |
| 265 | |
| 266 | Beispiel: C-u 8 C-f bewegt den Cursor acht Zeichen vorwärts. |
| 267 | |
| 268 | >> Versuchen Sie, C-n oder C-p mit einem numerischen Argument zu |
| 269 | verwenden und bewegen Sie den Cursor mit nur einem Befehl ungefähr |
| 270 | hierher. |
| 271 | |
| 272 | Wie gesagt, die meisten Befehle verwenden das numerische Argument als |
| 273 | Wiederholungszähler, jedoch nicht alle. Einige davon, die allerdings |
| 274 | noch nicht besprochen wurden, benützen es als Flag (»Flagge«), d.h., |
| 275 | allein das Vorhandensein eines Präfix-Arguments, unabhängig von seinem |
| 276 | Wert, signalisiert dem Befehl, etwas anderes zu tun. |
| 277 | |
| 278 | C-v und M-v sind weitere Ausnahmen. Gibt man diesen Befehlen einen |
| 279 | Parameter n, dann verschieben sie den Bildschirminhalt nicht um eine |
| 280 | ganze Bildschirmseite, sondern um n Zeilen. Beispiel: C-u 4 C-v |
| 281 | verschiebt den Bildschirminhalt um vier Zeilen. |
| 282 | |
| 283 | >> Versuchen Sie jetzt C-u 8 C-v auszuführen. |
| 284 | |
| 285 | Der Bildschirminhalt sollte jetzt um acht Zeilen nach oben verschoben |
| 286 | sein. Wollen Sie ihn nach unten verschieben, dann geben Sie M-v mit |
| 287 | einem numerischen Argument ein. |
| 288 | |
| 289 | Wenn Sie eine graphische Oberfläche wie X oder MS-Windows verwenden, |
| 290 | dann befindet sich ein schmaler, langgezogener rechteckiger Bereich |
| 291 | auf der linken oder rechten Seite des Emacs-Fensters. Dieser Bereich |
| 292 | wird Scrollbar genannt (»Verschiebungsbalken«). Sie können Text |
| 293 | verschieben, indem Sie mit der Maus auf den Scrollbar klicken. |
| 294 | |
| 295 | Hat Ihre Maus ein Mausrad, können Sie damit ebenfalls Text |
| 296 | verschieben. |
| 297 | |
| 298 | |
| 299 | * WENN EMACS NICHT MEHR REAGIERT |
| 300 | -------------------------------- |
| 301 | |
| 302 | Wenn Emacs »hängt«, also auf keine Ihrer Eingaben reagiert, drücken |
| 303 | Sie C-g. Sie können C-g auch dazu benützen, einen Befehl zu stoppen, |
| 304 | der zu lange braucht. |
| 305 | |
| 306 | Eine andere Anwendung ist, einen teilweise eingegebenen Befehl zu |
| 307 | verwerfen, z.B. ein irrtümlich eingetipptes numerisches Argument zu |
| 308 | entfernen. |
| 309 | |
| 310 | >> Geben Sie C-u 100 ein, um ein numerisches Argument 100 zu |
| 311 | spezifizieren, und drücken Sie dann C-g. Wenn Sie jetzt C-f |
| 312 | ausführen, dann bewegt sich der Cursor genau ein Zeichen vorwärts, |
| 313 | da Sie ja das numerische Argument mittels C-g gelöscht haben. |
| 314 | |
| 315 | Wenn Sie aus Versehen <ESC> gedrückt haben, können Sie dies ebenfalls |
| 316 | mit C-g rückgängig machen. |
| 317 | |
| 318 | |
| 319 | * DEAKTIVIERTE BEFEHLE |
| 320 | ---------------------- |
| 321 | |
| 322 | Ein paar Befehle von Emacs sind deaktiviert (»disabled«), damit |
| 323 | Anfänger sie nicht unabsichtlich benutzen. |
| 324 | |
| 325 | Wenn Sie einen solchen Befehl eingeben, dann gibt Emacs eine Meldung |
| 326 | aus und fragt Sie, ob Sie ihn wirklich ausführen wollen. |
| 327 | |
| 328 | Antworten Sie mit y (für »yes«) oder drücken Sie die Leertaste, wenn |
| 329 | Sie den Befehl ausführen wollen, sonst mit n. |
| 330 | |
| 331 | >> Geben Sie C-x C-l ein (das ist ein deaktivierter Befehl) und |
| 332 | drücken Sie n als Antwort auf die Frage. |
| 333 | |
| 334 | |
| 335 | * FENSTER |
| 336 | --------- |
| 337 | |
| 338 | Emacs kann mehrere Fenster (»windows«) haben, von denen jedes seinen |
| 339 | eigenen Text darstellt. Später erklären wir, wie man mit Fenstern |
| 340 | umgeht. Hier wollen wir nur erklären, wie man ein (vielleicht |
| 341 | irrtümlich erzeugtes) Fenster wieder entfernt und zum normalen |
| 342 | Ein-Fenster-Editieren zurückkommt. Der Befehl ist einfach: |
| 343 | |
| 344 | C-x 1 Ein Fenster (d.h., schließe alle anderen Fenster) |
| 345 | |
| 346 | Das ist C-x gefolgt von der Ziffer 1. C-x 1 expandiert das Fenster, |
| 347 | in dem der Cursor sich befindet, sodass es den ganzen Bildschirm |
| 348 | erfasst. Alle anderen Fenster werden gelöscht. |
| 349 | |
| 350 | [Anmerkung: Emacs verwendet das Wort Fenster (»windows«) in einem |
| 351 | anderen Sinn, als Sie es vielleicht gewöhnt sind. Wenn Sie einen |
| 352 | Textbildschirm vor sich haben, dann ist die Terminologie eindeutig. |
| 353 | Wenn Sie allerdings eine graphische Oberfläche benutzen, dann |
| 354 | bezeichnet ein Emacs-Fenster einen Teilbereich des Fensters (von Ihrer |
| 355 | graphischen Oberfläche erzeugt), in dem Emacs läuft, in völliger |
| 356 | Analogie zum Textmodus. Für (graphische) Fenster im herkömmlichen |
| 357 | Sinn verwenden die Emacs-Entwickler den Ausdruck »Rahmen« (»frame«).] |
| 358 | |
| 359 | >> Bewegen Sie den Cursor zu dieser Zeile und geben Sie C-u 0 C-l ein. |
| 360 | |
| 361 | >> Drücken Sie jetzt C-h k C-f. |
| 362 | Beachten Sie, wie das Fenster schrumpft und ein neues dazukommt, |
| 363 | welches die (englische) Dokumentation des C-f Befehls anzeigt. |
| 364 | |
| 365 | >> Geben Sie jetzt C-x 1 ein. Das Dokumentationsfenster verschwindet |
| 366 | wieder. |
| 367 | |
| 368 | |
| 369 | * EINFÜGEN UND LÖSCHEN |
| 370 | ---------------------- |
| 371 | |
| 372 | Wenn Sie Text einfügen wollen, dann geben Sie ihn einfach ein. |
| 373 | Sichtbare Zeichen, z.B. A, 7, * usw. werden als Text von Emacs sofort |
| 374 | eingefügt. Drücken Sie <Return> (die Zeilenvorschubtaste, meistens |
| 375 | mit »Enter« oder nur mit einem Rückwärts-Hakenpfeil beschriftet), um |
| 376 | ein Zeilenvorschubzeichen einzufügen. |
| 377 | |
| 378 | Sie können das zuletzt eingegebene Zeichen löschen, indem Sie <DEL> |
| 379 | drücken. <DEL> ist der Backspace-Taste zugeordnet (oft auch nur als |
| 380 | Rückwärtspfeil beschriftet). |
| 381 | |
| 382 | Allgemein gesprochen löscht <DEL> das Zeichen unmittelbar vor der |
| 383 | aktuellen Cursorposition. |
| 384 | |
| 385 | >> Probieren Sie das jetzt aus: Geben Sie ein paar Zeichen ein und |
| 386 | löschen Sie sie wieder mit <DEL>. Sie brauchen sich keine Sorgen |
| 387 | zu machen, dieses Dokument zu verändern: Was Sie hier lesen, ist |
| 388 | nur eine (persönliche) Kopie des originalen Dokuments. |
| 389 | |
| 390 | Wenn eine Textzeile zu lang für eine Bildschirmzeile ist, wird sie auf |
| 391 | einer zweiten Bildschirmzeile »fortgesetzt«: Bei graphischen |
| 392 | Oberflächen erscheinen zwei kleine gebogene Pfeile links und rechts |
| 393 | vom Textbereich (diese schmalen Spalten werden »fringe« genannt), bei |
| 394 | Terminals ein »Backslash«-Zeichen (»\«) am rechten Rand. |
| 395 | |
| 396 | >> Fügen Sie Text ein, bis Sie den rechten Rand erreicht haben. Fügen |
| 397 | Sie weiter Text ein. Beobachten Sie, wie eine Fortsetzungszeile |
| 398 | erscheint. |
| 399 | |
| 400 | >> Verwenden Sie <DEL> so oft, bis die Textzeile wieder auf eine |
| 401 | Bildschirmzeile passt. Die Fortsetzungszeile verschwindet wieder. |
| 402 | |
| 403 | Sie können das Zeilenvorschubzeichen wie jedes andere Zeichen löschen: |
| 404 | Die Zeilen vor und nach ihm werden dann zu einer zusammengehängt. Ist |
| 405 | diese länger als die Bildschirmbreite, erscheint eine |
| 406 | Fortsetzungszeile. |
| 407 | |
| 408 | >> Bewegen Sie den Cursor zum Anfang der Zeile und geben Sie <DEL> |
| 409 | ein: Die momentane Zeile wird an die vorige angehängt. |
| 410 | |
| 411 | >> Geben Sie <Return> ein, um wieder ein Zeilenvorschubzeichen |
| 412 | einzufügen. |
| 413 | |
| 414 | Die <Return>-Taste ist insofern besonders, als dass sie mehr bewirken |
| 415 | kann, als einfach ein Zeilenvorschubszeichen einzufügen. Abhängig vom |
| 416 | umgebenden Text können zusätzliche Leerzeichen eingefügt werden, damit |
| 417 | der neue Zeilenanfang bündig zur vorherigen Zeile ist. Wir nennen |
| 418 | dieses Verhalten (wenn das Drücken einer Taste mehr bewirkt, als nur |
| 419 | das entsprechende Zeichen einzufügen) »electric«. |
| 420 | |
| 421 | >> Ein Beispiel für dieses Verhalten von <Return>. |
| 422 | Drücken Sie <Return> am Ende dieser Zeile. |
| 423 | |
| 424 | Sie sollten sehen, dass sich nach dem Einfügen des |
| 425 | Zeilenvorschubzeichen der Cursor unter dem »D« von »Drücken« befindet. |
| 426 | |
| 427 | Denken Sie daran, dass die meisten Emacs-Befehle mit einem |
| 428 | Wiederholungszähler aufgerufen werden können. Tun Sie das mit einem |
| 429 | Textzeichen, dann wird es entsprechend dem numerischen Parameter |
| 430 | wiederholt. |
| 431 | |
| 432 | >> Drücken Sie C-u 8 *, und es wird ******** eingefügt. |
| 433 | |
| 434 | Bis jetzt kennen Sie die Grundbefehle, um Text in Emacs einzugeben und |
| 435 | Fehler zu korrigieren -- fast analog zu den Bewegungsbefehlen ist es |
| 436 | möglich, ganze Wörter, Sätze oder Zeilen zu löschen: |
| 437 | |
| 438 | <DEL> lösche ein Zeichen vor dem Cursor |
| 439 | C-d lösche das Zeichen unter dem Cursor |
| 440 | |
| 441 | M-<DEL> lösche bis zum (nächsten) Wortanfang unmittelbar |
| 442 | vor dem Cursor |
| 443 | M-d lösche bis zum (nächsten) Wortende nach |
| 444 | (bzw. unter) dem Cursor |
| 445 | |
| 446 | C-k lösche von momentaner Cursorposition bis zum Ende |
| 447 | der Zeile |
| 448 | M-k lösche bis zum nächsten Satzende nach |
| 449 | (bzw. unter) dem Cursor |
| 450 | |
| 451 | Eine andere, einheitliche Methode zum Löschen von Text ist das |
| 452 | Befehlspaar C-@ (oder C-SPC) und C-w. Gehen sie zum Anfang des zu |
| 453 | löschenden Textes und drücken Sie C-@ oder C-SPC. Gehen Sie dann zum |
| 454 | Ende des zu löschenden Textes und drücken Sie C-w, um ihn zu |
| 455 | entfernen. |
| 456 | |
| 457 | >> Bewegen Sie den Cursor zum Buchstaben »E« am Anfang des letzten |
| 458 | Absatzes. |
| 459 | >> Drücken Sie C-SPC. Emacs sollte die Meldung »Mark set« am unteren |
| 460 | Bildschirmrand zeigen. |
| 461 | >> Bewegen Sie den Cursor zum Buchstaben »A« in der zweiten Zeile des |
| 462 | letzten Absatzes. |
| 463 | >> Geben Sie C-w ein. Der ganze Text, beginnend mit dem »E« und |
| 464 | endend vor dem »A«, ist nun gelöscht. |
| 465 | |
| 466 | Löschen Sie mehr als ein Zeichen auf einmal, speichert Emacs den |
| 467 | gelöschten Text, damit Sie ihn bei Bedarf wieder zurückholen können. |
| 468 | Einfügen von bereits gelöschtem Text wird im englischen Dokumentation |
| 469 | von Emacs als »yanking« (wörtlich »herausreißen«) bezeichnet. Sie |
| 470 | können den gelöschten Text an einer beliebigen Stelle wieder |
| 471 | einzufügen. Solange Sie nichts neues löschen, steht Ihnen dieser |
| 472 | gelöschte Textteil immer wieder zu Verfügung. Der Befehl dazu ist C-y |
| 473 | (das Ypsilon steht für »yank«). |
| 474 | |
| 475 | Emacs unterscheidet zwei Klassen von Löschbefehlen (was man im |
| 476 | Deutschen leider nicht gut wiedergeben kann): »killing« (umbringen) |
| 477 | und »deleting« (löschen). Wenn man sich vorstellt, dass »yanking« den |
| 478 | Begriff »von den Toten erwecken« darstellt, dann hat man ungefähr eine |
| 479 | Vorstellung von der Metapher -- Von einem »kill«-Befehl gelöschter |
| 480 | Text wird gespeichert und kann bei Bedarf mit C-y zurückgeholt werden. |
| 481 | Von einem »delete«-Befehl entfernter Text (in der Regel einzelne |
| 482 | Zeichen, leere Zeilen und Zwischenräume) wird nicht extra gespeichert |
| 483 | und kann daher auch nicht zurückgeholt werden. Allerdings besteht die |
| 484 | Möglichkeit zum »Undo«, siehe weiter unten. |
| 485 | |
| 486 | >> Bringen Sie den Cursor an den Anfang einer nicht-leeren Zeile und |
| 487 | geben Sie C-k ein, um die Zeile zu löschen. |
| 488 | |
| 489 | >> Geben Sie C-k ein zweites Mal ein. Nun wird der Zeilenvorschub |
| 490 | ebenfalls entfernt. |
| 491 | |
| 492 | Das letzte Beispiel zeigt, dass ein einmaliges Ausführen von C-k den |
| 493 | Zeileninhalt löscht, und dass ein nochmaliger C-k-Befehl die Zeile |
| 494 | selbst löscht. Ein numerisches Argument für C-k wird speziell |
| 495 | behandelt: es löscht die angegebene Anzahl von Zeilen UND die |
| 496 | Zeilenvorschübe: C-u 2 C-k löscht zwei Zeilen komplett; zweimal C-k |
| 497 | löscht dagegen nur eine Zeile. |
| 498 | |
| 499 | Wie schon erwähnt, bringt C-y den zuletzt gelöschten (»gekillten«) |
| 500 | Text zurück -- man kann diesen Text einfügen, wo man will: an der |
| 501 | ursprünglichen Stelle, an einer anderen Stelle, oder sogar in einer |
| 502 | anderen Datei. Mehrmaliges Ausführen von C-y fügt den Text mehrmals |
| 503 | ein. |
| 504 | |
| 505 | In anderen Editoren wird »kill« und »yank« oft als »cut« |
| 506 | (ausschneiden) und »paste« (einfügen) bezeichnet. Näheres dazu findet |
| 507 | sich im Abschnitt »Glossary« des Emacs-Handbuchs. |
| 508 | |
| 509 | >> Probieren Sie jetzt C-y, um diesen Effekt zu sehen. |
| 510 | |
| 511 | Führen Sie C-k mehrmals hintereinander aus, dann wird der so |
| 512 | gelöschte Text auf einmal gespeichert; C-y bringt dann den gesamten |
| 513 | Text zurück. |
| 514 | |
| 515 | >> Drücken Sie mehrmals C-k. |
| 516 | |
| 517 | Holen Sie jetzt den Text »von den Toten« zurück: |
| 518 | |
| 519 | >> Drücken Sie C-y. Bewegen Sie dann den Cursor ein paar Zeilen nach |
| 520 | unten und drücken Sie C-y erneut. Der eben eingefügte Text wird |
| 521 | noch einmal an anderer Stelle kopiert. |
| 522 | |
| 523 | Wie können Sie gelöschten Text wieder einfügen, wenn Sie in der |
| 524 | Zwischenzeit noch etwas anderes »gekillt« haben? C-y würde das |
| 525 | zuletzt gelöschte Textstück zurückholen, was aber nicht das gewünschte |
| 526 | ist. Verwenden Sie nun M-y (unmittelbar nach der erstmaligen |
| 527 | Ausführung von C-y), um den gerade mit C-y eingefügten Textteil durch |
| 528 | ein früher gelöschtes Textstück zu ersetzen. Durch wiederholtes |
| 529 | Betätigen von M-y kommen immer ältere gelöschte Textteile zum |
| 530 | Vorschein. Haben Sie das gewünschte gefunden, dann brauchen Sie |
| 531 | nichts weiter zu tun. Lassen Sie den eingefügten Text so wie er ist |
| 532 | und setzen Sie das Editieren fort. |
| 533 | |
| 534 | Drücken Sie M-y immer weiter, dann kommen Sie irgendwann wieder an den |
| 535 | Anfangspunkt zurück (Emacs zeigt Ihnen dann wieder das zuletzt |
| 536 | gelöschte Textfragment), haben also den gesamten Löschring |
| 537 | durchgesehen. |
| 538 | |
| 539 | >> Löschen Sie eine Zeile, bewegen Sie den Cursor zu einer anderen |
| 540 | Position und löschen Sie eine weitere Zeile. |
| 541 | Drücken Sie dann C-y, um die zweite gelöschte Zeile zurückzuholen. |
| 542 | Drücken Sie jetzt M-y, und die erste gelöschte Zeile erscheint |
| 543 | statt der zweiten. |
| 544 | Führen Sie nun ein paar weitere M-y-Befehle aus und beobachten Sie |
| 545 | das Ergebnis. Wiederholen Sie das solange, bis die zweite Zeile |
| 546 | wieder erscheint. |
| 547 | Wenn Sie wollen, dann können Sie M-y mit positiven oder negativen |
| 548 | Argumenten aufrufen, um direkt zu einem bestimmten Eintrag im |
| 549 | Löschring zu kommen. |
| 550 | |
| 551 | Die meisten graphischen Oberflächen bieten auch die Möglichkeit, mit |
| 552 | der linken Maustaste einen Textteil zu markieren (er erscheint dann |
| 553 | normalerweise grau unterlegt). Der Befehl C-w löscht diesen |
| 554 | markierten Textteil (in Emacs auch »Region« genannt) und fügt ihn in |
| 555 | den Löschring ein. |
| 556 | |
| 557 | Dasselbe geht auch ohne Maus: Bewegen Sie den Cursor zum Beginn des zu |
| 558 | löschenden Textteils, drücken Sie C-SPC, um eine Markierung für den |
| 559 | Beginn einer Region zu setzen, gehen Sie dann zum Ende des zu |
| 560 | löschenden Textes und drücken Sie C-w. |
| 561 | |
| 562 | Der lange Name für C-w ist kill-region (weiter unten wird erklärt, wie |
| 563 | man Befehle mit langen Namen ausführen kann). |
| 564 | |
| 565 | |
| 566 | * UNDO |
| 567 | ------ |
| 568 | |
| 569 | Wenn Sie etwas am Text geändert haben und nachträglich bemerken, dass |
| 570 | das ein Fehler war, so können Sie den Fehler mit dem Befehl C-/ |
| 571 | ungeschehen machen (»undo«). |
| 572 | |
| 573 | Normalerweise macht C-/ das Verhalten von einem Befehl ungeschehen; |
| 574 | führen Sie C-/ mehrmals hintereinander aus, werden die jeweiligen |
| 575 | vorigen Befehle widerrufen. |
| 576 | |
| 577 | Es gibt jedoch zwei Ausnahmen: Befehle, die den Text nicht ändern, |
| 578 | werden nicht gezählt (z.B. Cursorbewegungen und Blättern im Text). |
| 579 | Und Befehle, die sich selbst einfügen (»self-inserting«: Drücken Sie |
| 580 | zum Beispiel die »u«-Taste, dann wird der Buchstabe u eingefügt) |
| 581 | werden in Gruppen von bis zu 20 Zeichen wiederhergestellt, um die |
| 582 | Anzahl der notwendigen C-/-Befehle zu reduzieren. |
| 583 | |
| 584 | >> Löschen Sie diese Zeilen mit C-k und drücken Sie anschließend |
| 585 | mehrmals C-/, und die Zeilen erscheinen wieder. |
| 586 | |
| 587 | Alternative Tastenkombinationen für C-/ sind C-_ und C-x u. Ein |
| 588 | numerisches Argument für C-/, C-_ oder C-x u wird als |
| 589 | Wiederholungszähler interpretiert. |
| 590 | |
| 591 | Der Unterschied zwischen der Undo-Funktion und dem oben erklärten C-y |
| 592 | ist, dass erstere gelöschten Text an exakt der gleichen Position wie |
| 593 | vorher wiederherstellt, wohingegen C-y den gelöschten Text an der |
| 594 | momentanen Cursorposition einfügt. Im übrigen kann auch »gekillter« |
| 595 | Text wieder hergestellt werden; der Unterschied zwischen »killing« und |
| 596 | »yanking« betrifft nur C-y, aber nicht die Undo-Funktion. |
| 597 | |
| 598 | |
| 599 | * DATEIEN |
| 600 | --------- |
| 601 | |
| 602 | Um editierten Text zu sichern, muss man ihn in einer Datei (»file«) |
| 603 | speichern (»save«). Wird Emacs beendet, ohne dass man vorher den Text |
| 604 | gespeichert hat, dann ist der Text verloren. |
| 605 | |
| 606 | Will man andererseits bereits gesicherten Text mit Emacs editieren, so |
| 607 | muss die entsprechende Datei in Emacs geladen werden (im Englischen |
| 608 | wird das als »finding« (finden) bzw. als »visiting« (besuchen) |
| 609 | bezeichnet). |
| 610 | |
| 611 | Eine Datei »finden« bedeutet, dass man den Inhalt dieser Datei mit |
| 612 | Emacs bearbeitet -- es ist fast so, als ob man die Datei selbst |
| 613 | editiert. Jedoch werden Änderungen an dieser Datei erst dann |
| 614 | dauerhaft, wenn man sie speichert; auf diese Weise wird vermieden, |
| 615 | dass Dateien in einem halb-geänderten Zustand im Betriebssystem |
| 616 | bleiben. Es wird sogar die originale, unveränderte Datei unter einem |
| 617 | anderen Namen gesichert, falls Sie später entscheiden sollten, dass |
| 618 | die Änderungen ein Fehler sind. |
| 619 | |
| 620 | Wenn Sie die untere Bildschirmkante genauer betrachten, dann werden |
| 621 | Sie eine Zeile finden, die mit einem oder mehreren Bindestrichen |
| 622 | beginnt und endet; sie enthält unter anderem die Zeichenkette |
| 623 | »TUTORIAL.de«. An dieser Position befindet sich immer der Name der |
| 624 | Datei, die Sie momentan bearbeiten (»visit«). Gerade in diesem |
| 625 | Augenblick bearbeiten Sie eine Datei mit dem Namen »TUTORIAL.de« |
| 626 | (genauer gesagt, Emacs hat eine identische Kopie geladen). |
| 627 | |
| 628 | Die Befehle für das Laden und Speichern von Dateien bestehen aus zwei |
| 629 | Zeichen: Beide beginnen mit CONTROL-x. Es gibt eine ganze Reihe von |
| 630 | Kommandos, die mit C-x beginnen; viele von ihnen haben mit Dateien, |
| 631 | Puffern (s.u.) und ähnlichem zu tun. All diese Befehle sind zwei, |
| 632 | drei oder vier Zeichen lang -- Sie haben bereits C-x u und C-x 1 |
| 633 | kennengelernt. |
| 634 | |
| 635 | Um eine Datei in Emacs laden zu können, muss man dem Lade-Befehl den |
| 636 | Namen der Datei mitteilen. Der Befehl »liest ein Argument« (in diesem |
| 637 | Fall ist das der Name der Datei). Nachdem Sie |
| 638 | |
| 639 | C-x C-f (lade Datei) |
| 640 | |
| 641 | eingegeben haben, werden Sie von Emacs nach dem Dateinamen gefragt. |
| 642 | Die Zeichen, die Sie eingeben, werden in der untersten Bildschirmzeile |
| 643 | dargestellt, dem sogenannten Minipuffer (»minibuffer«). Sie können |
| 644 | ganz normale Emacs-Editierfunktionen verwenden, um den Dateinamen zu |
| 645 | ändern. |
| 646 | |
| 647 | Sie können jederzeit die Eingabe (auch von anderen Befehlen, die den |
| 648 | Minipuffer benutzen) mit C-g abbrechen. |
| 649 | |
| 650 | >> Drücken Sie C-x C-f und dann C-g. Der letzte Befehl verwirft |
| 651 | jegliche Eingabe im Minipuffer und bricht außerdem den Ladebefehl |
| 652 | ab (Sie haben also keine Datei geladen). |
| 653 | |
| 654 | Wenn Sie den Dateinamen fertig eingegeben haben, drücken Sie <Return>, |
| 655 | um den Befehl abzuschließen. Der Minipuffer verschwindet wieder, und |
| 656 | C-x C-f lädt die von Ihnen ausgesuchte Datei. |
| 657 | |
| 658 | Der Dateiinhalt erscheint jetzt auf dem Bildschirm, und Sie können den |
| 659 | Text editieren. Wenn Sie Ihre Änderungen permanent speichern wollen, |
| 660 | dann drücken Sie |
| 661 | |
| 662 | C-x C-s (sichere Datei) |
| 663 | |
| 664 | und Emacs kopiert den Text in die Datei. Beim ersten Mal benennt |
| 665 | Emacs die Originaldatei um, damit sie nicht verloren ist. Der neue |
| 666 | Name besteht aus dem Originalnamen plus einer angehängten Tilde »~« |
| 667 | [unter einigen Betriebssystemen wird statt dessen die |
| 668 | Namenserweiterung durch ».bak« ersetzt]. |
| 669 | |
| 670 | Emacs schreibt den Namen der gesicherten Datei in die unterste Zeile, |
| 671 | sobald C-x C-s fertig ausgeführt ist. Sie sollten den editierten Text |
| 672 | oft speichern, damit nicht allzuviel bei einem etwaigen Systemabsturz |
| 673 | verloren geht (siehe auch den Abschnitt »AUTOMATISCHES SPEICHERN« |
| 674 | weiter unten). |
| 675 | |
| 676 | >> Geben Sie |
| 677 | |
| 678 | C-x C-s TUTORIAL.de <Return> |
| 679 | |
| 680 | ein, um Ihre Kopie der Einführung zu sichern. Die Ausgabe am |
| 681 | unteren Bildschirmrand sollte »Wrote ...TUTORIAL.de« sein. |
| 682 | |
| 683 | [Manche Terminals werden durch C-s angehalten und müssen durch C-q |
| 684 | wieder »entsperrt« werden. Eine erste Abhilfe zur Umschiffung dieses |
| 685 | C-s-Problems schafft die Befehlsfolge »M-x save-buffer«, welche exakt |
| 686 | das gleiche wie C-x C-s bewirkt. Mehr Hilfe dazu finden Sie im |
| 687 | Abschnitt »Spontaneous Entry to Incremental Search« im |
| 688 | Emacs-Handbuch.] |
| 689 | |
| 690 | Sie können eine existierende Datei anschauen (»view«) oder editieren. |
| 691 | Sie können aber auch eine Datei laden, die noch gar nicht existiert, |
| 692 | um so eine neue Datei zu erzeugen: Sie öffnen dazu die |
| 693 | (nicht-existente) Datei, die natürlich leer ist, und beginnen dann |
| 694 | einfach Text einzugeben. Wenn Sie jetzt die Datei speichern, erzeugt |
| 695 | Emacs wirklich die Datei und kopiert den editierten Text in sie |
| 696 | hinein. |
| 697 | |
| 698 | |
| 699 | * PUFFER |
| 700 | -------- |
| 701 | |
| 702 | Manche Editoren können nicht mehr als eine Datei gleichzeitig |
| 703 | bearbeiten. Wenn Sie jedoch eine zweite Datei in Emacs mit C-x C-f |
| 704 | laden, dann bleibt die erste in Emacs. Sie können zur ersten |
| 705 | zurückschalten, indem Sie noch einmal C-x C-f eingeben. Auf diese |
| 706 | Weise lassen sich eine ganze Reihe von Dateien laden und bearbeiten. |
| 707 | |
| 708 | Emacs speichert jeden Text, der aus einer Datei in Emacs geladen wird, |
| 709 | in einem »Puffer«-Objekt. Um eine Liste der momentan existierenden |
| 710 | Puffer zu sehen, geben Sie |
| 711 | |
| 712 | C-x C-b (liste Puffer auf) |
| 713 | |
| 714 | ein. |
| 715 | |
| 716 | >> Probieren Sie jetzt C-x C-b. |
| 717 | |
| 718 | Beachten Sie, dass jeder Puffer einen Namen hat und manche auch mit |
| 719 | dem Namen einer Datei assoziiert sind, dessen Inhalt sie enthalten. |
| 720 | Manche Puffer aber haben keinen zugehörige Datei, z.B. der mit dem |
| 721 | Namen »*Buffer List*«. Er wurde von dem Befehl C-x C-b erzeugt, um |
| 722 | die Pufferliste darzustellen. JEDER Text, den Sie innerhalb Emacs in |
| 723 | einem Fenster sehen, ist immer ein Ausschnitt eines Puffers. |
| 724 | |
| 725 | >> Geben Sie jetzt C-x 1 ein, um die Pufferliste wieder verschwinden |
| 726 | zu lassen. |
| 727 | |
| 728 | Wieviele Puffer auch in Emacs geladen sind, nur ein einziger ist der |
| 729 | »momentane« Puffer, nämlich derjenige, den Sie gerade editieren. Will |
| 730 | man einen anderen Puffer editieren, muss man zuerst zu diesem Puffer |
| 731 | wechseln (»switch«). Wie schon weiter oben erklärt, kann man mittels |
| 732 | C-x C-f zu einem Puffer wechseln, der zu einer Datei gehört. Emacs |
| 733 | hat jedoch einen einfacheren Befehl, C-x b, um einen beliebigen Puffer |
| 734 | namentlich auszuwählen. |
| 735 | |
| 736 | >> Geben Sie |
| 737 | |
| 738 | C-x C-f foo <Return> |
| 739 | |
| 740 | ein, um eine Datei mit dem Namen »foo« zu erzeugen. Mittels |
| 741 | |
| 742 | C-x b TUTORIAL.de <RETURN> |
| 743 | |
| 744 | gelangen Sie wieder zu dieser Einführung. |
| 745 | |
| 746 | In der Regel ist der Puffername identisch zu einem Dateinamen (ohne |
| 747 | den Verzeichnispräfix), jedoch nicht immer. Die von C-x C-b erzeugte |
| 748 | Pufferliste zeigt stets die Namen aller Puffer mit den |
| 749 | korrespondierenden Dateinamen. |
| 750 | |
| 751 | JEDER Text in Emacs ist Teil eines Puffers, aber nicht jeder Puffer |
| 752 | entspricht einer Datei. So ist z.B. der Puffer »*Buffer List*« mit |
| 753 | keiner Datei assoziiert -- er wurde direkt von dem Befehl C-x C-b |
| 754 | erzeugt. Auch dieser »TUTORIAL.de«-Puffer war anfangs keiner Datei |
| 755 | zugeordnet, jetzt allerdings schon, denn Sie haben im letzten |
| 756 | Abschnitt den Befehl C-x C-s eingegeben und so den Pufferinhalt als |
| 757 | Datei gespeichert. |
| 758 | |
| 759 | Der Puffer »*Messages*« hat ebenfalls keine Entsprechung als Datei; er |
| 760 | enthält alle Mitteilungen, die in der untersten Zeile während des |
| 761 | Arbeitens mit Emacs erscheinen. |
| 762 | |
| 763 | >> Geben Sie C-x b *Messages* <Return> ein, um sich den |
| 764 | Mitteilungspuffer anzuschauen. |
| 765 | Anschließend geben Sie C-x b TUTORIAL.de <Return> ein, um wieder |
| 766 | hierher in die Einführung zurückzukommen. |
| 767 | |
| 768 | Wenn Sie Änderungen an einer Datei vornehmen und anschließend eine |
| 769 | andere Datei laden, dann wird die erste nicht gespeichert. Die |
| 770 | Änderungen bleiben in Emacs, und zwar in dem zur ersten Datei |
| 771 | gehörigen Puffer. Das ist sehr praktisch, bedeutet jedoch |
| 772 | gleichzeitig, dass man einen Befehl braucht, um den Puffer der ersten |
| 773 | Datei permanent abzuspeichern. Es wäre äußerst umständlich, müsste |
| 774 | man jedesmal C-x C-f eingeben, um den Puffer dann mit C-x C-s |
| 775 | abzuspeichern. Daher gibt es den Befehl |
| 776 | |
| 777 | C-x s (sichere mehrere Puffer) |
| 778 | |
| 779 | Dieser Befehl fragt Sie bei jedem Puffer, der Änderungen enthält, ob |
| 780 | Sie ihn speichern wollen. |
| 781 | |
| 782 | >> Fügen Sie eine Textzeile ein und drücken Sie dann C-x s. |
| 783 | Emacs fragt Sie jetzt, ob Sie einen Puffer mit dem Namen |
| 784 | TUTORIAL.de speichern wollen. Bejahen Sie, indem Sie »y« drücken. |
| 785 | |
| 786 | [Anmerkung: Sie verändern nicht die Originaldatei, sondern eine |
| 787 | persönliche Kopie.] |
| 788 | |
| 789 | |
| 790 | * WEITERE BEFEHLE |
| 791 | ----------------- |
| 792 | |
| 793 | Es existieren viel mehr Emacs-Befehle als Tasten auf der Tastatur. Um |
| 794 | sie trotzdem alle benutzen zu können, gibt es zwei Erweiterungen: |
| 795 | |
| 796 | C-x Zeichenerweiterung. Gefolgt von einem Zeichen. |
| 797 | M-x Befehlserweiterung. Gefolgt von einem (langen) Namen. |
| 798 | |
| 799 | [Das »x« steht für das englische Wort »extension«.] Diese beiden |
| 800 | Befehle sind prinzipiell sehr nützlich, werden aber weniger oft |
| 801 | benötigt als die bisher vorgestellten. Sie haben bereits mehrere |
| 802 | Befehle aus der ersten Kategorie kennengelernt; unter anderem C-x C-f, |
| 803 | um eine Datei zu laden, und C-x C-s, um sie zu speichern. Ein |
| 804 | weiteres Beispiel ist C-x C-c, um Emacs zu beenden -- Sie brauchen |
| 805 | sich keine Gedanken zu machen, ob Sie beim Beenden von Emacs |
| 806 | vielleicht vergessen haben, Daten oder Text zu sichern -- Emacs fragt |
| 807 | bei jedem geändertem Puffer (bzw. Datei), ob er gespeichert werden |
| 808 | soll. |
| 809 | |
| 810 | Unter graphischen Oberflächen wie X bewirkt C-z in der Regel, dass |
| 811 | Emacs ikonofiziert wird, also als Ikone (»Icon«) darauf wartet, mit |
| 812 | einem Mausklick bei Bedarf wieder vergrößert zu werden. Auf einem |
| 813 | Textterminal dagegen wird Emacs »suspendiert«, wenn Sie C-z drücken, |
| 814 | d.h., Sie kehren zurück zur Eingabezeile des Terminals, ohne Emacs zu |
| 815 | beenden, und können beliebige andere Befehle ausführen. In der Regel |
| 816 | können Sie später mittels des Befehls »fg« bzw. »%emacs« wieder zu |
| 817 | Emacs umschalten. |
| 818 | |
| 819 | Bei Betriebssystemen bzw. Shells, die Suspension von Programmen nicht |
| 820 | implementiert haben (z.B. MS-DOS), startet C-z einen |
| 821 | System-Befehlsinterpreter innerhalb von Emacs (»subshell«). |
| 822 | Normalerweise müssen Sie dann »exit« in die Befehlszeile schreiben, um |
| 823 | zu Emacs zurückzukehren. |
| 824 | |
| 825 | Der beste Zeitpunkt für C-x C-c ist, wenn Sie sich ausloggen |
| 826 | (bzw. Ihren Computer ausschalten); Sie sollten Emacs ebenfalls |
| 827 | beenden, wenn Sie Emacs von einem anderen Programm aus aufgerufen |
| 828 | haben (z.B. einem Programm, das E-mails liest). |
| 829 | |
| 830 | Hier ist eine Liste aller C-x-Befehle, die Sie bereits kennengelernt |
| 831 | haben: |
| 832 | |
| 833 | C-x C-f lade Datei |
| 834 | C-x C-s sichere Datei |
| 835 | C-x s sichere einige Puffer |
| 836 | C-x C-b zeige Pufferliste an |
| 837 | C-x b wechsle zu Puffer |
| 838 | C-x C-c beende Emacs |
| 839 | C-x 1 lösche alle Fenster außer einem |
| 840 | C-x u widerrufen |
| 841 | |
| 842 | Ein Beispiel für einen Befehl mit langen Namen ist replace-string, der |
| 843 | global (also in der ganzen Datei bzw. Puffer) eine Zeichenkette durch |
| 844 | eine andere ersetzt. Wenn Sie M-x drücken, dann fragt Sie Emacs in |
| 845 | der untersten Bildschirmzeile nach dem Namen des Befehls (in diesem |
| 846 | Fall »replace-string«). Geben Sie jetzt »repl s<TAB>« ein und Emacs |
| 847 | vervollständigt den Namen. Schließen Sie die Eingabe mit <Return> ab. |
| 848 | [<TAB> bezeichnet die Tabulatortaste.] |
| 849 | |
| 850 | >> Bewegen Sie den Cursor zu der leeren Zeile sechs Zeilen unter |
| 851 | dieser. Geben Sie dann |
| 852 | |
| 853 | M-x repl s <Return> Bildschirm <Return> Text <Return> |
| 854 | |
| 855 | ein und kehren Sie mit C-u C-SPC an diese Position zurück. |
| 856 | |
| 857 | Beachten Sie wie diese Bildschirmzeile jetzt aussieht: Sie haben |
| 858 | den Wortteil B-i-l-d-s-c-h-i-r-m durch »Text« ersetzt (und zwar im |
| 859 | ganzen Dokument beginnend von der Cursorposition). |
| 860 | |
| 861 | >> Drücken Sie jetzt C-x u, um diese Änderungen auf einmal rückgängig |
| 862 | zu machen. |
| 863 | |
| 864 | |
| 865 | * AUTOMATISCHES SPEICHERN |
| 866 | ------------------------- |
| 867 | |
| 868 | Haben Sie Änderungen an einem Dokument vorgenommen, sie jedoch nicht |
| 869 | gespeichert, dann können sie verloren gehen, falls der Computer |
| 870 | abstürzt. Um Sie davor zu schützen, sichert Emacs in bestimmten |
| 871 | Zeitintervallen jede von Ihnen editierte Datei in sogenannten |
| 872 | »auto save«-Dateien. Sie sind daran zu erkennen, dass sie mit einem # |
| 873 | beginnen und enden; z.B. ist »#hello.c#« der Name der Auto-Save-Datei |
| 874 | von »hello.c«. Wenn Sie Ihren Text auf normalem Wege speichern, wird |
| 875 | die Auto-Save-Datei gelöscht. |
| 876 | |
| 877 | Stürzt der Rechner einmal wirklich ab, können Sie die Änderungen, die |
| 878 | beim letzten Auto-Save gespeichert worden sind, folgendermaßen |
| 879 | wiederherstellen: Laden Sie die Datei auf normalem Wege (die Datei, |
| 880 | die Sie bearbeitet haben, nicht die Auto-Save-Datei) und geben Sie |
| 881 | dann »M-x recover-file <Return>« ein. Wenn Emacs Sie um Bestätigung |
| 882 | fragt, antworten Sie mit »yes <Return>«, um den Inhalt der |
| 883 | Auto-Save-Datei zu übernehmen. |
| 884 | |
| 885 | |
| 886 | * DER ECHO-BEREICH |
| 887 | ------------------ |
| 888 | |
| 889 | Geben Sie Befehle langsam ein, dann zeigt Ihnen Emacs Ihre eigene |
| 890 | Eingabe am unteren Bildschirmrand im sogenannten Echo-Bereich (»echo |
| 891 | area«). Der Echo-Bereich enthält die unterste Bildschirmzeile. |
| 892 | |
| 893 | [Mini-Puffer und Echo-Bereich fallen normalerweise zusammen, sind aber |
| 894 | nicht das gleiche, da innerhalb des Echo-Bereiches nichts eingegeben |
| 895 | werden kann.] |
| 896 | |
| 897 | |
| 898 | * DIE STATUSZEILE |
| 899 | ------------------ |
| 900 | |
| 901 | Die Bildschirmzeile unmittelbar über dem Echo-Bereich ist die |
| 902 | Statuszeile (»mode line«). Sie schaut ungefähr so aus: |
| 903 | |
| 904 | -1:**- TUTORIAL.de 58% L891 (Fundamental) |
| 905 | |
| 906 | Diese Zeile gibt nützliche Hinweise über den momentanen Zustand von |
| 907 | Emacs und den Text, den Sie gerade editieren. |
| 908 | |
| 909 | Sie wissen bereits, was der Dateiname bedeutet. »NN%« zeigt die |
| 910 | momentane Position innerhalb des Puffertextes an: NN Prozent davon |
| 911 | sind oberhalb des Bildschirms. Ist der Dateianfang zu sehen, dann |
| 912 | erscheint »Top« anstelle von »00%«. Analog dazu erscheint »Bot« (für |
| 913 | das englische Wort »bottom«), wenn das Dateiende sichtbar ist. Wenn |
| 914 | Sie einen Puffer betrachten, der komplett auf den Bildschirm passt, |
| 915 | dann erscheint »All«. |
| 916 | |
| 917 | Das »L« und die nachfolgenden Ziffern geben die aktuelle Zeilennummer |
| 918 | an, in der sich der Cursor befindet. |
| 919 | |
| 920 | Am Anfang der Zeile sehen Sie »-1:**-«. Die Zeichen vor dem |
| 921 | Doppelpunkt geben an, in welcher Kodierung der Text ist und welche |
| 922 | Eingabemethode verwendet wird. Dazu mehr weiter unten im Abschnitt |
| 923 | »MULE«. |
| 924 | |
| 925 | [Anstelle des Doppelpunktes können auch ein »\« und »/« stehen, falls |
| 926 | Sie Dateien editieren, die der MS-DOS- bzw. der |
| 927 | Macintosh-Textkonvention folgen: MS-DOS verwendet als |
| 928 | Zeilenvorschubzeichen CR-LF (Carriage Return gefolgt von Linefeed), |
| 929 | während Macintosh nur CR benutzt. Emacs verwendet standardmäßig LF.] |
| 930 | |
| 931 | Die Sterne nach dem Doppelpunkt bedeuten, dass Sie Änderungen am Text |
| 932 | vorgenommen haben. Wenn Sie gerade eine Datei in Emacs geladen oder |
| 933 | gespeichert haben, dann erscheinen statt der Sterne zwei Bindestriche. |
| 934 | Prozentzeichen nach dem Doppelpunkt stehen für eine Datei, die nur |
| 935 | gelesen, aber nicht editiert werden kann. |
| 936 | |
| 937 | Der eingeklammerte Teil gibt an, in welchem Editiermodus Sie sich |
| 938 | befinden. Der Standardmodus heißt »Fundamental« (Sie verwenden ihn |
| 939 | gerade); er ist ein Beispiel für einen Hauptmodus (»major mode«). |
| 940 | |
| 941 | Emacs hat viele Hauptmodi implementiert. Manche davon werden für |
| 942 | verschiedene (Computer-)Sprachen und/oder Textarten verwendet, |
| 943 | z.B. Lisp-Modus, Text-Modus usw. Es kann immer nur ein Hauptmodus |
| 944 | aktiviert sein, und der Name befindet sich dort, wo jetzt gerade |
| 945 | »Fundamental« steht. |
| 946 | |
| 947 | Einige Befehle verhalten sich jeweils in verschiedenen Hauptmodi |
| 948 | anders. Es gibt zum Beispiel einen Befehl, um einen Kommentar in den |
| 949 | Quellcode eines Computerprogramm einzufügen -- die Tastenfolge dafür |
| 950 | ist zwar (in der Regel) die gleiche, doch wird ein Kommentar mit der |
| 951 | für die aktuelle Programmiersprache gültigen Syntax eingefügt |
| 952 | (z.B. »// ...« für ein Programm in C++ oder »; ...« für Lisp). Um in |
| 953 | einen Hauptmodus zu schalten, hängen Sie einfach das englische Wort |
| 954 | »-mode« an den (kleingeschriebenen) Namen des Modus an und führen den |
| 955 | Befehl mittels M-x aus. Beispiel: »M-x fundamental-mode« schaltet in |
| 956 | den Fundamental-Modus. Weitere wichtige Modi sind c-mode, perl-mode, |
| 957 | lisp-mode, text-mode u.a. Die meisten davon werden automatisch |
| 958 | aktiviert, und zwar entsprechend der Namenserweiterung der zu ladenden |
| 959 | Datei: So wird z.B. durch das Laden der Datei foo.c automatisch der |
| 960 | C-Modus aktiviert. |
| 961 | |
| 962 | Wenn Sie deutschen oder englischen Text bearbeiten, dann sollten Sie |
| 963 | den Textmodus verwenden. [Falls Ihre Tastatur keine Umlaut-Tasten |
| 964 | hat, müssen Sie noch einen weiteren Nebenmodus aktivieren. Lesen Sie |
| 965 | dazu den Abschnitt »MULE« weiter unten.] |
| 966 | |
| 967 | >> Geben Sie »M-x text-mode <Return>« ein. |
| 968 | |
| 969 | Sie brauchen keine Angst zu haben, dass sich die bisher dargestellte |
| 970 | Tastaturbelegung von Emacs stark ändert. Beobachten Sie z.B. die |
| 971 | Befehle M-f und M-b: Apostrophe werden nun als Teil eines Wortes |
| 972 | betrachtet (wie man's leicht an diesem Beispiel ausprobieren kann), |
| 973 | wohingegen im Fundamentalmodus Apostrophe als Worttrenner |
| 974 | (»word-separator«) behandelt werden. |
| 975 | |
| 976 | Normalerweise ist das eben genannte Beispiel die Methode von |
| 977 | Hauptmodi: Die meisten Befehle tun »das gleiche«, arbeiten aber |
| 978 | jeweils ein bisschen anders. |
| 979 | |
| 980 | Dokumentation zum derzeit aktuellen Hauptmodus bekommen Sie mit C-h m. |
| 981 | |
| 982 | >> Drücken Sie C-l C-l, um diese Zeile an den oberen Bildschirmrand zu |
| 983 | bringen. |
| 984 | >> Lesen Sie nun mittels C-h m die englische Dokumentation zum |
| 985 | Textmodus. |
| 986 | >> Entfernen Sie schließlich das Dokumentationsfenster mit C-x 1. |
| 987 | |
| 988 | Neben den Hauptmodi gibt es auch Nebenmodi (»minor modes«). Nebenmodi |
| 989 | sind keine Alternativen zu Hauptmodi, sondern stellen Ergänzungen zur |
| 990 | Verfügung, die (normalerweise) in allen Hauptmodi funktionieren |
| 991 | (z.B. der Überschreibmodus: Zeichen werden nicht eingefügt, sondern |
| 992 | überschreiben den Text). Man kann Nebenmodi ein- und ausschalten |
| 993 | unabhängig von anderen Nebenmodi und Hauptmodi; mit anderen Worten, |
| 994 | Sie können zu Ihrem Hauptmodus keinen, einen oder sogar mehrere |
| 995 | Nebenmodi haben. |
| 996 | |
| 997 | Ein Nebenmodus, welcher äußerst nützlich ist, besonders für das |
| 998 | Editieren von Text, ist der automatische Zeilenumbruch (»Auto Fill |
| 999 | mode«). Ist dieser Modus aktiviert, dann bricht Emacs die laufende |
| 1000 | Zeile selbsttätig zwischen Wörtern um, sobald sie zu lang wird. |
| 1001 | |
| 1002 | Sie können den Zeilenumbruchmodus mittels »M-x auto-fill-mode |
| 1003 | <Return>« einschalten. Wenn der Modus aktiviert ist, können Sie ihn |
| 1004 | mit dem gleichen Befehl wieder ausschalten. Mit anderen Worten, der |
| 1005 | Befehl verhält sich wie ein Lichttaster, der bei Betätigung entweder |
| 1006 | das Licht ein- oder ausschaltet, je nachdem, ob das Licht vorher |
| 1007 | ausgeschaltet bzw. eingeschaltet war. Wir sagen, dass dieser Befehl |
| 1008 | den Modus umschaltet (»toggle«). |
| 1009 | |
| 1010 | >> Geben Sie nun M-x auto-fill-mode <Return> ein. Fügen Sie |
| 1011 | anschließend eine Zeile ein, die aus lauter »asdf « besteht, und |
| 1012 | zwar so lange, bis die Zeile automatisch umgebrochen wird. |
| 1013 | Vergessen Sie nicht, Leerzeichen einzugeben, da nur dort ein |
| 1014 | Umbruch erfolgt. |
| 1015 | |
| 1016 | Normalerweise ist die maximale Zeilenlänge 70 Zeichen (d.h., der linke |
| 1017 | Rand ist ganz links auf Position 1 und der rechte Rand auf |
| 1018 | Position 70), jedoch können Sie das mit dem Befehl C-x f ändern. |
| 1019 | Geben Sie den neuen (rechten) Rand als numerischen Parameter ein. |
| 1020 | |
| 1021 | >> Geben Sie C-x mit dem Argument 20 ein (C-u 2 0 C-x f). Schreiben |
| 1022 | Sie nun etwas Text und beobachten Sie, wie Emacs die laufende Zeile |
| 1023 | an Position 20 umbricht. Setzen Sie anschließend den Rand wieder |
| 1024 | zurück auf 70 mit dem gleichen Befehl. |
| 1025 | |
| 1026 | Machen Sie Änderungen in der Mitte eines Absatzes, dann reformatiert |
| 1027 | der Zeilenfüllmodus nicht automatisch den Absatz. |
| 1028 | Verwenden Sie dafür den Befehl M-q, wobei der Cursor innerhalb des |
| 1029 | Absatzes stehen muss. |
| 1030 | |
| 1031 | >> Bewegen Sie den Cursor zurück zum letzten Absatz und drücken Sie |
| 1032 | M-q. |
| 1033 | |
| 1034 | |
| 1035 | * SUCHEN |
| 1036 | -------- |
| 1037 | |
| 1038 | Emacs kann Zeichenketten (»strings«, eine Folge von zusammenhängenden |
| 1039 | Zeichen) entweder in Richtung Pufferende (vorwärts, »forward«) oder in |
| 1040 | Richtung Pufferanfang (rückwärts, »backward«) suchen. Gleichzeitig |
| 1041 | wird der Cursor an die nächste Stelle bewegt, wo diese Zeichenkette |
| 1042 | erscheint. |
| 1043 | |
| 1044 | Die Standard-Suchoperation von Emacs ist inkrementelles Suchen, d.h., |
| 1045 | die Suche beginnt dann, wenn Sie die Zeichen eingeben. |
| 1046 | |
| 1047 | Der Befehl für Vorwärtssuchen ist C-s und C-r für Rückwärtssuchen. |
| 1048 | ABER HALT! Probieren Sie bitte diese Befehle noch nicht. |
| 1049 | |
| 1050 | Wenn Sie C-s eingeben, dann erscheint die Zeichenkette »I-search:« als |
| 1051 | Eingabeaufforderung im Echobereich. Das bedeutet, dass Emacs jetzt |
| 1052 | eine inkrementellen Suche ausführt und darauf wartet, dass Sie die zu |
| 1053 | suchende Zeichenkette eingeben. <Return> beendet die Suche. |
| 1054 | |
| 1055 | >> Geben Sie jetzt C-s ein, um einen Suchvorgang zu starten. Schreiben |
| 1056 | Sie LANGSAM, einen Buchstaben nach dem anderen, das Wort »Cursor«, |
| 1057 | und warten Sie jeweils ab, was mit dem Cursor passiert. Sie haben |
| 1058 | jetzt das Wort »Cursor« einmal gefunden. |
| 1059 | >> Drücken Sie C-s noch einmal, um die nächste Stelle zu suchen, wo das |
| 1060 | Wort »Cursor« vorkommt. |
| 1061 | >> Drücken Sie nun <DEL> viermal und beobachten Sie, wie der Cursor |
| 1062 | zurückspringt. |
| 1063 | >> Beenden Sie die Suche mit <Return>. |
| 1064 | |
| 1065 | Verstehen Sie, was gerade vorgegangen ist? Emacs versucht während |
| 1066 | einer inkrementellen Suche zu der Stelle zu gehen, wo die Zeichenkette |
| 1067 | steht, die Sie bis jetzt eingegeben haben. Um die darauffolgende |
| 1068 | Position zu suchen, wo »Cursor« steht, genügt es, noch einmal C-s zu |
| 1069 | betätigen. Wenn es keine nächste Position gibt, dann ertönt ein |
| 1070 | kurzer Ton, und Emacs sagt Ihnen, dass die Suche im Augenblick |
| 1071 | fehlschlägt (»failing«). C-g beendet ebenfalls einen Suchvorgang. |
| 1072 | |
| 1073 | Wenn Sie sich mitten in einer inkrementellen Suche befinden und |
| 1074 | <DEL> drücken, wird das letzte Zeichen im Suchstring gelöscht, und |
| 1075 | der Cursor springt zurück auf die letzte Suchposition. Angenommen, |
| 1076 | Sie haben »c« eingegeben, um das erste Auftreten von »c« zu suchen. |
| 1077 | Geben Sie jetzt »u« ein, dann springt der Cursor zu dem ersten |
| 1078 | Auftreten der Zeichenkette »cu«. Wenn Sie jetzt mit <DEL> das »u« |
| 1079 | vom Suchstring löschen, dann springt der Cursor zurück zum ersten »c«. |
| 1080 | Drücken Sie dagegen ein paar mal C-s, um weitere »cu«-Zeichenketten zu |
| 1081 | finden, dann bewirkt <DEL>, dass Sie zum letzten Auftreten von »cu« |
| 1082 | zurückspringen, und erst wenn es kein weiteres »cu« mehr gibt, springt |
| 1083 | der Cursor zum ersten »c« zurück. |
| 1084 | |
| 1085 | Die Suche wird ebenfalls beendet, wenn Sie ein CONTROL- oder |
| 1086 | META-Zeichen eingeben (mit ein paar Ausnahmen -- Zeichen, die bei |
| 1087 | einer Suche speziell gehandhabt werden wie C-s oder C-r). |
| 1088 | |
| 1089 | C-s versucht, die Zeichenkette NACH der aktuellen Cursorposition zu |
| 1090 | finden. Wollen Sie etwas davor suchen, müssen Sie C-r verwenden. Das |
| 1091 | oben Gesagte gilt völlig analog, jedoch in die entgegengesetzte |
| 1092 | Suchrichtung. |
| 1093 | |
| 1094 | |
| 1095 | * MEHRFACHE FENSTER |
| 1096 | ------------------- |
| 1097 | |
| 1098 | Eine weitere, nützliche Fähigkeit von Emacs ist die Möglichkeit, mehr |
| 1099 | als ein Fenster zur gleichen Zeit auf dem Bildschirm darzustellen. |
| 1100 | |
| 1101 | [Der Unterschied zu graphischen Fenstern im herkömmlichen Sinn |
| 1102 | (»frame« in der Emacs-Terminologie) wurde bereits weiter oben |
| 1103 | besprochen.] |
| 1104 | |
| 1105 | >> Bewegen Sie den Cursor zu dieser Zeile und geben Sie C-l C-l ein. |
| 1106 | |
| 1107 | >> Drücken Sie nun C-x 2, um den Bildschirm in zwei Fenster zu teilen. |
| 1108 | Beide Fenster zeigen diese Einführung an, und der Cursor bleibt im |
| 1109 | oberen. |
| 1110 | |
| 1111 | >> Verwenden Sie C-M-v, um im unteren Fenster zu blättern (Sie können |
| 1112 | statt dessen auch ESC C-v verwenden, falls Sie keine META-Taste |
| 1113 | haben; siehe auch weiter unten). |
| 1114 | |
| 1115 | >> Mittels C-x o (das »o« steht für das englische Wort »other«, »das |
| 1116 | andere«) können Sie den Cursor in das untere Fenster bewegen. |
| 1117 | |
| 1118 | >> Benützen Sie C-v und M-v, um im unteren Fenster zu blättern. Lesen |
| 1119 | Sie die Emacs-Einführung jedoch im oberen Fenster weiter. |
| 1120 | |
| 1121 | >> Geben Sie C-x o nochmals ein, und der Cursor ist wieder im oberen |
| 1122 | Fenster, genau an der Stelle, wo er vorher war. |
| 1123 | |
| 1124 | C-x o ist der Befehl, um zwischen (Emacs-)Fenstern hin- und |
| 1125 | herzuschalten. Jedes Fenster hat eine eigene Cursorposition, aber nur |
| 1126 | das aktuelle Fenster zeigt den Cursor an (auf einer graphischen |
| 1127 | Oberfläche wird die nicht-aktuelle Cursorposition durch ein leeres |
| 1128 | Rechteck dargestellt). Alle normalen Editierbefehle betreffen das |
| 1129 | Fenster, in dem sich der Cursor befindet. Wir nennen dieses Fenster |
| 1130 | »ausgewählt« (»selected window«). |
| 1131 | |
| 1132 | Der Befehl M-C-v ist sehr nützlich, wenn man Text in einem Fenster |
| 1133 | editiert und das andere Fenster als Referenz verwendet. Ohne das |
| 1134 | momentante Arbeitsfenster verlassen zu müssen, kann man mit M-C-v im |
| 1135 | anderen Fenster bequem vorwärtsblättern. |
| 1136 | |
| 1137 | M-C-v ist ein Beispiel eines CONTROL-META-Zeichens. Haben Sie eine |
| 1138 | META-Taste, dann kann man M-C-v erzeugen, indem man CTRL und META |
| 1139 | gleichzeitig niedergedrückt hält, während man v eintippt. Es ist |
| 1140 | egal, ob zuerst CTRL oder META niedergedrückt wird, da beide Tasten |
| 1141 | gleichberechtigt das jeweils einzugebende Zeichen modifizieren. |
| 1142 | |
| 1143 | Haben Sie keine META-Taste, und Sie verwenden stattdessen ESC, dann |
| 1144 | ist die Reihenfolge nicht mehr egal: Sie müssen zuerst ESC drücken, |
| 1145 | gefolgt von CTRL-v. CTRL-ESC v funktioniert nicht! Der Grund dafür |
| 1146 | ist, dass ESC ein eigenes Zeichen ist und keine Modifizier-Taste wie |
| 1147 | META oder CTRL. |
| 1148 | |
| 1149 | Der umgekehrte Befehl zu M-C-v ist M-C-S-v, um im anderen Fenster |
| 1150 | rückwärts zu blättern (d.h., Sie müssen die META-Taste sowie die |
| 1151 | CONTROL- und SHIFT-Taste zusammen mit »v« betätigen) -- jetzt werden |
| 1152 | Sie wahrscheinlich verstehen, warum manche Kritiker das Wort Emacs als |
| 1153 | Abkürzung von Escape-Meta-Alt-Control-Shift betrachten. Leider |
| 1154 | funktioniert diese Befehlsfolge normalerweise nur mit graphischen |
| 1155 | Oberflächen, da C-v von C-S-v auf den meisten Textterminals nicht |
| 1156 | unterschieden werden kann. |
| 1157 | |
| 1158 | [Auf graphischen Oberflächen kann man außerdem in der Regel mit den |
| 1159 | bequemeren Tastenkombinationen META-»Bild mit Aufwärtspfeil« |
| 1160 | bzw. META-»Bild mit Abwärtspfeil« ebenfalls im anderen Fenster rück- |
| 1161 | bzw. vorwärts blättern.] |
| 1162 | |
| 1163 | >> Entfernen Sie mit C-x 1 (eingegeben im oberen Fenster) das untere |
| 1164 | Fenster. |
| 1165 | |
| 1166 | (Hätten Sie C-x 1 im unteren Fenster eingegeben, dann wäre das obere |
| 1167 | Fenster geschlossen worden -- eine Eselsbrücke für C-x 1 ist »ich will |
| 1168 | nur das *eine* Fenster, in dem ich mich gerade befinde.«) |
| 1169 | |
| 1170 | Sie müssen nicht den gleichen Puffer in beiden Fenstern darstellen. |
| 1171 | Wenn Sie C-x C-f verwenden, um in einem Fenster eine Datei zu laden, |
| 1172 | dann bleibt das andere Fenster unverändert. Sie können in jedem |
| 1173 | Fenster eine andere Datei anzeigen lassen, unabhängig vom anderen |
| 1174 | Fenster. |
| 1175 | |
| 1176 | Hier eine andere Möglichkeit, in zwei Fenstern zwei verschiedene |
| 1177 | Texte darzustellen: |
| 1178 | |
| 1179 | >> Geben Sie C-x 4 C-f ein, gefolgt vom Namen einer Ihrer Dateien. |
| 1180 | Schließen Sie ab mit <Return>. Beobachten Sie, wie die |
| 1181 | spezifizierte Datei im unteren Fenster erscheint. Der Cursor |
| 1182 | springt ebenfalls in das untere Fenster. |
| 1183 | |
| 1184 | >> Bewegen Sie den Cursor mittels C-x o in das obere Fenster und geben |
| 1185 | Sie C-x 1 ein, um das untere Fenster zu schließen. |
| 1186 | |
| 1187 | |
| 1188 | * MEHRFACHE RAHMEN |
| 1189 | ------------------ |
| 1190 | |
| 1191 | Emacs kann auch mehrfache Rahmen erzeugen, sobald das Programm auf |
| 1192 | einer graphischen Oberfläche ausgeführt wird. In der |
| 1193 | Emacs-Terminologie bezeichnet ein »Rahmen« eine Gruppe von Fenstern, |
| 1194 | gemeinsam mit deren Menus, Scrollbars, Echo-Bereichen, usw. Auf einem |
| 1195 | Textterminal kann genau ein Rahmen dargestellt werden. |
| 1196 | |
| 1197 | >> Geben Sie |
| 1198 | |
| 1199 | M-x make-frame <Return> |
| 1200 | |
| 1201 | ein, um einen neuen Rahmen zu erzeugen. |
| 1202 | |
| 1203 | Alles, was Sie im ursprünglichen, ersten Rahmen tun können, |
| 1204 | funktioniert genauso im neuen Rahmen. Beide Rahmen sind also völlig |
| 1205 | gleichwertig. |
| 1206 | |
| 1207 | >> Geben Sie |
| 1208 | |
| 1209 | M-x delete-frame <Return> |
| 1210 | |
| 1211 | ein, um den ausgewählten Rahmen zu entfernen. |
| 1212 | |
| 1213 | Ein Rahmen kann auch mit der normalen Methode der graphischen |
| 1214 | Oberfläche entfernt werden; meistens gibt es dafür einen Knopf mit |
| 1215 | einem »X« in der linken oder rechten oberen Ecke des Rahmens. Wird |
| 1216 | der letzte Rahmen geschlossen, beendet man Emacs, wie erwartet. |
| 1217 | |
| 1218 | |
| 1219 | * REKURSIVE EDITIER-EBENEN |
| 1220 | -------------------------- |
| 1221 | |
| 1222 | Manchmal kann es passieren, dass Sie in eine sogenannte rekursive |
| 1223 | Editier-Ebene geraten (»recursive editing level«). Sie können das an |
| 1224 | den eckigen Klammern in der Statuszeile erkennen, welche den |
| 1225 | derzeitigen Hauptmodus zusätzlich umschließen, z.B. [(Fundamental)] |
| 1226 | anstelle von (Fundamental). |
| 1227 | |
| 1228 | Um eine rekursive Editier-Ebene zu verlassen, geben Sie ESC ESC ESC |
| 1229 | ein. Diese Tastenkombination ist ein allgemeiner |
| 1230 | Ich-will-hier-raus-Befehl. Sie können ihn auch verwenden, um |
| 1231 | unerwünschte Fenster zu schließen und den Minipuffer zu verlassen. |
| 1232 | |
| 1233 | >> Geben Sie M-x ein, um in den Minipuffer zu gelangen, und tippen Sie |
| 1234 | dann ESC ESC ESC, um ihn wieder zu verlassen. |
| 1235 | |
| 1236 | Mit C-g kann man eine rekursive Editier-Ebene nicht verlassen, da C-g |
| 1237 | Befehle INNERHALB einer rekursiven Editier-Ebene stoppt. |
| 1238 | |
| 1239 | Rekursive Editier-Ebenen sind hier in dieser Einführung nicht weiter |
| 1240 | dargestellt. Details finden Sie im Emacs-Handbuch beschrieben. |
| 1241 | |
| 1242 | |
| 1243 | * MULE |
| 1244 | ------ |
| 1245 | |
| 1246 | Mule ist die Abkürzung für »Multi-lingual Enhancement to GNU Emacs«. |
| 1247 | Früher wurde damit eine spezielle Emacs-Variante bezeichnet, die |
| 1248 | allerdings seit der Version 20 mit Emacs verschmolzen ist. |
| 1249 | |
| 1250 | Emacs unterstützt eine große Anzahl von internationalen Zeichensätzen, |
| 1251 | z.B. verschiedene europäische Varianten des lateinischen Alphabets, |
| 1252 | Chinesisch, Russisch oder Thai, um nur einige zu nennen. In dieser |
| 1253 | Einführung wird jedoch nur auf Unicode und Latin-1 sowie |
| 1254 | Eingabemöglichkeiten für Deutsch näher eingegangen. |
| 1255 | |
| 1256 | Lesen Sie im Emacs-Handbuch unter dem Stichwort »International« nach, |
| 1257 | welche weitere Optionen es bezüglich Zeichensätze gibt. |
| 1258 | |
| 1259 | Die Standard-Zeichensätze für Deutsch sind Latin-1 (auch bekannt unter |
| 1260 | dem Namen ISO-8859-1) und Unicode -- und da besonders dessen |
| 1261 | Kodierungsvariante UTF-8. Werden anstelle der deutschen Umlaute |
| 1262 | unansehnliche Konstrukte wie »\374« dargestellt, hat Emacs die |
| 1263 | Kodierung nicht richtig erkannt. Sie können die Anwendung einer |
| 1264 | Kodierung auf einen Befehl erzwingen, indem Sie diesen mit der Sequenz |
| 1265 | »C-x <Return> c KODIERUNG« einleiten. Das Laden einer Datei »foo« mit |
| 1266 | der Kodierung »UTF-8« ist beispielsweise |
| 1267 | |
| 1268 | C-x <Return> c utf-8 <Return> C-x C-f foo |
| 1269 | |
| 1270 | Ist die Sprachumgebung (»locale«) Ihres Betriebssystems korrekt auf |
| 1271 | Deutsch gesetzt, verwendet Emacs diese Einstellungen automatisch |
| 1272 | (inklusive einer Standard-Kodierung). Wollen Sie andere Einstellungen |
| 1273 | verwenden, geben Sie »C-x <Return> l« ein (ein Tastenkürzel für die |
| 1274 | Funktion set-language-environment). Mittels |
| 1275 | |
| 1276 | C-x <Return> l latin-1 <Return> |
| 1277 | |
| 1278 | können Sie z.B. in einer laufenden Emacs-Sitzung auf Latin-1 |
| 1279 | umzuschalten. Dadurch wird erreicht, dass Emacs beim Laden einer |
| 1280 | Datei (und Speichern derselben) standardmäßig die |
| 1281 | Latin-1-Zeichenkodierung verwendet. Sie können an der Ziffer 1 |
| 1282 | unmittelbar vor dem Doppelpunkt links unten in der Statuszeile |
| 1283 | erkennen, dass Sie Latin-1 aktiviert haben. Beachten Sie allerdings, |
| 1284 | dass set-language-environment keinen Einfluss auf die Kodierung |
| 1285 | bereits existierender Puffer hat! |
| 1286 | |
| 1287 | >> Führen Sie jetzt C-x <Return> l latin-1 <Return> aus und öffnen Sie |
| 1288 | anschließend eine (neue) Datei mit dem Namen »bar« in einem anderen |
| 1289 | Fenster mittels C-x 4 C-f bar <Return>. In der Statuszeile des |
| 1290 | zweiten Fensters sehen Sie die Ziffer 1 unmittelbar vor dem |
| 1291 | Doppelpunkt. |
| 1292 | |
| 1293 | >> Schließen Sie das soeben geöffnete Fenster mit C-x 1 wieder. |
| 1294 | |
| 1295 | Wie können Sie nun deutsche Umlaute eingeben? Es gibt prinzipiell |
| 1296 | zwei unterschiedliche Fälle: Sie besitzen eine deutsche Tastatur mit |
| 1297 | Tasten für die Umlaute oder Sie haben eine nicht-deutsche Tastatur. |
| 1298 | Im ersteren Fall sollten Sie die Eingabemethode »german« auswählen, |
| 1299 | welche direkt die Umlaute auf die entsprechenden Tasten abbildet. Im |
| 1300 | letzteren Fall gibt es mehrere Möglichkeiten, wovon zwei hier erklärt |
| 1301 | werden sollen, nämlich »latin-1-prefix« und »latin-1-postfix«. Die |
| 1302 | Präfix-Methode erwartet zuerst den Akzent und dann den Basisbuchstaben |
| 1303 | ('a wird zu á, "s zu ß etc.), während bei der Postfix-Methode zuerst |
| 1304 | der Basisbuchstabe und dann der Akzent einzugeben ist (a" wird zu ä, |
| 1305 | s/ wird zu ß etc). |
| 1306 | |
| 1307 | Aktiviert wird die jeweilige Eingabe mit dem Befehl |
| 1308 | |
| 1309 | C-u C-\ Eingabemethode <Return> |
| 1310 | |
| 1311 | (z.B. C-u C-\ german <Return>). Durch diese Befehlsfolge wird der |
| 1312 | sogenannte Quail-Nebenmodus aktiviert, was sich durch eine kleine |
| 1313 | Veränderung in der Statuszeile zeigt: Durch zwei oder drei Zeichen |
| 1314 | unmittelbar vor der Pufferkodierung wird die aktuelle Eingabemethode |
| 1315 | angezeigt. Ist der Eingabemodus einmal gewählt, kann man mit C-\ ihn |
| 1316 | ein- und ausschalten. |
| 1317 | |
| 1318 | >> Geben Sie C-u C-\ latin-1-postfix <Return> ein. Beobachten Sie, |
| 1319 | wie links unten in der Statuszeile die Anzeige von »1:**-« auf |
| 1320 | »1<1:**-« springt. Probieren Sie ä einzugeben mittels a". |
| 1321 | |
| 1322 | >> Deaktivieren Sie den Eingabemodus wieder mit C-\. |
| 1323 | |
| 1324 | Folgende Kürzel in der Statuszeile repräsentieren die eben |
| 1325 | beschriebenen Eingabemethoden: |
| 1326 | |
| 1327 | DE@ german |
| 1328 | 1< latin-1-postfix |
| 1329 | 1> latin-1-prefix |
| 1330 | |
| 1331 | So bedeutet die Angabe »DE@1:**-«, dass Sie die Eingabemethode |
| 1332 | »german« in einem Puffer mit Latin-1-Kodierung verwenden, und dass die |
| 1333 | Datei bereits modifiziert wurde. |
| 1334 | |
| 1335 | [Arbeitet Emacs in einem Terminal, werden noch zwei zusätzliche |
| 1336 | Spalten zwischen Eingabemethode und Pufferkodierung eingefügt, und |
| 1337 | zwar für die Tastatur- und Bildschirmkodierung.] |
| 1338 | |
| 1339 | |
| 1340 | * WEITERE DOKUMENTATION VON EMACS |
| 1341 | --------------------------------- |
| 1342 | |
| 1343 | Wir haben uns bemüht, in dieser Einführung genau soviel Information zu |
| 1344 | geben, dass Sie beginnen können, mit Emacs zu arbeiten. Emacs ist |
| 1345 | jedoch so mächtig und umfangreich, dass es den Rahmen einer Einführung |
| 1346 | spränge, an dieser Stelle mehr zu erklären. Um Sie im weiteren |
| 1347 | Lernverlauf zu unterstützen, stellt Emacs eine Reihe von |
| 1348 | Hilfe-Funktionen zu Verfügung, die alle mit dem Präfix C-h (dem |
| 1349 | Hilfe-Zeichen, »Help character«) beginnen. |
| 1350 | |
| 1351 | Nach dem Drücken von C-h geben Sie ein weiteres Zeichen ein, um Emacs |
| 1352 | zu sagen, worüber Sie mehr Informationen brauchen. Sollten Sie |
| 1353 | WIRKLICH verloren sein, geben Sie C-h ? ein, und Emacs sagt Ihnen, |
| 1354 | welche Art von Hilfe er Ihnen zu Verfügung stellen kann. Haben Sie |
| 1355 | C-h versehentlich gedrückt, können Sie mit C-g sofort abbrechen. |
| 1356 | |
| 1357 | (Alternativen zu C-h sind die F1-Taste und der lange Befehl M-x help |
| 1358 | <Return>.) |
| 1359 | |
| 1360 | Die elementarste Hilfestellung gibt C-h c. Drücken Sie C-h, dann das |
| 1361 | Zeichen c, und dann einen Befehl: Emacs zeigt daraufhin eine kurze |
| 1362 | Beschreibung des Befehls an. |
| 1363 | |
| 1364 | >> Geben Sie C-h c C-p ein. |
| 1365 | Die Antwort darauf (im Echo-Bereich) sollte so ähnlich sein wie |
| 1366 | |
| 1367 | C-p runs the command previous-line |
| 1368 | |
| 1369 | Somit wissen Sie den »Namen der Funktion«. Da Namen in der Regel |
| 1370 | beschreiben, was die jeweilige Funktion tut, können sie auch als sehr |
| 1371 | kurze Beschreibung dienen -- ausreichend, um Sie an Befehle zu |
| 1372 | erinnern, die Sie bereits gelernt haben. |
| 1373 | |
| 1374 | Aus mehr als einem Zeichen bestehende Befehle, z.B. C-x C-s oder |
| 1375 | <ESC>v, sind ebenfalls erlaubt nach C-h c. |
| 1376 | |
| 1377 | Um eine detaillierte Dokumentation eines Befehls zu erhalten, |
| 1378 | verwenden Sie C-h k anstelle von C-h c. |
| 1379 | |
| 1380 | >> Geben Sie C-h k C-p ein. |
| 1381 | |
| 1382 | Diese Befehlsfolge zeigt die komplette Dokumentation des Befehls an |
| 1383 | zusammen mit seinem Namen, und zwar in einem eigenem Fenster. Wenn |
| 1384 | Sie die Beschreibung gelesen haben, benützen Sie am besten C-x 1, um |
| 1385 | das Hilfe-Fenster wieder zu schließen. Sie müssen das nicht sofort |
| 1386 | tun -- Sie können weiter Text editieren und das Fenster schließen, |
| 1387 | wenn Sie es nicht mehr brauchen. |
| 1388 | |
| 1389 | Hier einige weitere nützliche Optionen von C-h: |
| 1390 | |
| 1391 | C-h f Beschreibt eine Funktion. Sie müssen den Namen der |
| 1392 | Funktion eingeben. |
| 1393 | |
| 1394 | >> Probieren Sie C-h f previous-line <Return>. |
| 1395 | Alle Information über den C-p-Befehl wird angezeigt. |
| 1396 | |
| 1397 | Sie können die Tabulator-Taste stets benützen, um den Namen des |
| 1398 | jeweiligen Befehls zu vervollständigen. Geben Sie z.B. »C-h f |
| 1399 | previous<TAB>« ein, dann werden alle Befehle angezeigt, deren Namen |
| 1400 | mit »previous-« beginnen. Ergänzen Sie die Zeichenkette auf |
| 1401 | »previous-l« und drücken Sie dann <TAB>, bleibt nur noch der Befehl |
| 1402 | »previous-line« übrig, und Sie können mit <Return> abschließen. |
| 1403 | |
| 1404 | Ein ähnlicher Befehl ist C-h v. Er zeigt den Wert und die |
| 1405 | Dokumentation von Variablen, deren Werte man ändern kann (um |
| 1406 | beispielsweise Emacs an persönliche Bedürfnisse anzupassen). Auch |
| 1407 | hier kann man die Tabulator-Taste zur Vervollständigung benutzen. |
| 1408 | |
| 1409 | C-h a Ein Befehls-Apropos. Gibt man ein Schlüsselwort ein, |
| 1410 | zeigt Emacs alle Befehle, die dieses Schlüsselwort |
| 1411 | enthalten. Alle angezeigten Befehle können mit M-x |
| 1412 | aufgerufen werden. Für einige Kommandos wird |
| 1413 | zusätzlich eine Zeichensequenz (meistens bestehend aus |
| 1414 | einem oder zwei Zeichen) aufgelistet, welche den |
| 1415 | gleichen Befehl startet. |
| 1416 | |
| 1417 | >> Geben Sie C-h a file <Return> ein. |
| 1418 | |
| 1419 | Alle M-x-Befehle, die das Wort »file« in ihrem Namen enthalten, werden |
| 1420 | angezeigt. Beachten Sie, dass auch C-x C-f aufgelistet wird neben dem |
| 1421 | zugehörigen langen Namen, find-file. |
| 1422 | |
| 1423 | >> Blättern Sie mit C-M-v, um sich die Liste der Funktionen anzusehen. |
| 1424 | |
| 1425 | >> Schließen Sie das Hilfefenster mit C-x 1. |
| 1426 | |
| 1427 | C-h i Dieser Befehl öffnet einen speziellen Puffer, um |
| 1428 | Handbücher zu lesen (im »Info«-Format), die auf dem |
| 1429 | verwendeten Computersystem installiert sind. Geben |
| 1430 | Sie z.B. m emacs <Return> ein, um das Emacs-Handbuch |
| 1431 | zu lesen. Haben Sie »Info« noch nie benutzt, tippen |
| 1432 | Sie ?, und Emacs führt Sie Schritt für Schritt durch |
| 1433 | die Möglichkeiten des Info-Modus. Wenn Sie diese |
| 1434 | Einführung fertiggelesen haben, sollten Sie das |
| 1435 | Info-Handbuch für Emacs als primäre Dokumentation |
| 1436 | benutzen. |
| 1437 | |
| 1438 | |
| 1439 | * SCHLUSSBEMERKUNG |
| 1440 | ------------------ |
| 1441 | |
| 1442 | Das Wichtigste: Emacs wird mit C-x C-c beendet. |
| 1443 | |
| 1444 | Diese Einführung soll für alle neuen Benutzer von Emacs verständlich |
| 1445 | sein. Wenn daher etwas unklar sein sollte, hadern Sie nicht mit sich |
| 1446 | selbst. Schreiben Sie an die Free Software Foundation, den Autor oder |
| 1447 | den Übersetzer und erläutern Sie, was für Sie unklar geblieben ist. |
| 1448 | |
| 1449 | |
| 1450 | * RECHTLICHES |
| 1451 | ------------- |
| 1452 | |
| 1453 | Die englische Version dieser Einführung hat eine lange Vorgeschichte. |
| 1454 | Stuart Cracraft hat für die Urversion von Emacs das erste Tutorial |
| 1455 | geschrieben. Übersetzer ins Deutsche ist Werner Lemberg (wl@gnu.org). |
| 1456 | |
| 1457 | Beachten Sie bitte, dass im Zweifelsfalle das englische Original |
| 1458 | dieser Urheberrechtsnotiz gültig ist (zu finden in der Datei |
| 1459 | TUTORIAL). |
| 1460 | |
| 1461 | Copyright (C) 1985, 1996-1997, 2001-2014 Free Software Foundation, |
| 1462 | Inc. |
| 1463 | |
| 1464 | Diese Datei ist ein Bestandteil von GNU Emacs. |
| 1465 | |
| 1466 | Hiermit wird für jedermann die Erlaubnis erteilt, wörtliche, |
| 1467 | unveränderte Kopien dieses Dokumentes für jegliches Medium zu |
| 1468 | erstellen, unter der Voraussetzung, dass die Copyright-Notiz sowie |
| 1469 | diese Erlaubnis beibehalten werden. Außerdem muss der Verteiler |
| 1470 | dieses Dokuments den Empfängern die gleichen Rechte einräumen, |
| 1471 | welche durch diese Erlaubnis gegeben sind. |
| 1472 | |
| 1473 | Zugleich wird die Erlaubnis erteilt, modifizierte Versionen dieses |
| 1474 | Dokuments, oder Teile davon, zu verteilen, und zwar zu den oben |
| 1475 | gegebenen Bedingungen unter der Voraussetzung, dass eindeutig zu |
| 1476 | erkennen ist, wer zuletzt dieses Dokument verändert hat. |
| 1477 | |
| 1478 | Die Vervielfältigungsbedingungen für Emacs selbst sind etwas |
| 1479 | komplexer, folgen aber in etwa den gleichen Richtlinien. Lesen Sie |
| 1480 | bitte die Datei COPYING und geben Sie Emacs an Ihre Freunde weiter! |
| 1481 | Helfen Sie mit, die Idee von freier Software zu propagieren, indem Sie |
| 1482 | freie Software verwenden, verteilen, oder sogar selber schreiben. |
| 1483 | |
| 1484 | --- end of TUTORIAL.de --- |
| 1485 | |
| 1486 | ;;; Local Variables: |
| 1487 | ;;; coding: utf-8 |
| 1488 | ;;; End: |