UNIX-Lehrtext
Auf den meisten Unix-Systemen gibt es zwei komfortable Editoren: vi und emacs. Neben diesen beiden gibt es auch noch den zeilenorientierten Editor ed sowie den einfachsten aller Editoren, pico. Siehe auch Referenz-Karte zu Pico im Anhang! Um eine Datei nicht-interaktiv zu bearbeiten, können sed, awk und perl verwendet werden.
Um eine Datei nur anzusehen (ohne sie ändern zu können), genügt das cat-Kommando.
cat <Dateiname>stellt die Datei Dateiname auf einmal am Bildschirm dar. Um diese Datei Seite für Seite zu zeigen, verwendet man more
more <Dateiname>Zum Blättern: Leertaste drücken.
vi wird durch den Aufruf "vi <Dateiname>" gestartet. Beschwert sich vi darüber, dass der Terminaltyp nicht bekannt ist, so verlässt man vi erst einmal durch Eingabe von ":q!" und setzt die Umgebungsvariable TERM (siehe vorangegangenes Kapitel, Seite 25). Falls Ihnen Ihr Terminaltyp nicht bekannt ist, verwenden Sie einfach den "Standardtyp" vt100.
vi kennt drei verschiedene Modi: Eingabemodus (Insert Mode), Kommandomodus (Command Mode) und den Letzte-Zeile-Modus (auch ex-Modus oder ":"-Modus genannt).
Nach dem Aufruf von vi befindet man sich im Kommandomodus, d.h. man kann Kommandos, aber keinen Text eingeben. Um in den Eingabemodus zu wechseln, können folgende Kommandos verwendet werden:
Um wieder zurück in den Kommandomodus zu kommen, was z.B. zum Bewegen des Cursors notwendig ist, drückt man die Taste ESC. Falls man vergessen hat, in welchem Modus man sich gerade befindet, hilft auch ein Druck auf die ESC-Taste, denn anschliessend befindet man sich sicher im Kommandomodus: war vorher Eingabemodus eingestellt, so wird in den Kommandomodus gewechselt, war bereits der Kommandomodus eingestellt, so erklingt ein akustisches Signal und vi bleibt im Kommandomodus.
Der Kommandomodus dient der Eingabe einfacher Kommandos, z.B. dem Löschen einer Zeile oder Cursorbewegungen. Diese Kommandos bestehen immer nur aus wenigen Buchstaben, die nirgendwo angezeigt werden. Kompliziertere Kommandos, wie z.B. das Ersetzen von Mustern im Text oder das Einlesen eines weiteren Files können mit diesen einfachen Kommandos nicht bewältigt werden. Dafür gibt es den Letzte-Zeile-Modus. Um in diesen Modus zu wechseln, tippt man einen Doppelpunkt (daher der Name ":"-Modus). Damit wird in der untersten Zeile eine Kommandozeile zur Eingabe geöffnet. Alles bis zum nächsten RETURN wird dann als Kommando interpretiert. Diese Kommandos unterscheiden sich aber von denen im einfachen Kommandomodus. Um die Unterscheidung zu erleichtern, leiten wir in dieser Einführung alle Kommandos für den Letzte-Zeile-Modus mit dem Doppelpunkt ein, der diesen Kommandos ja stets vorausgeht.
vi unterscheidet Gross- und Kleinschreibung. Da die Kommandos im Kommandomodus bei der Eingabe nicht gesehen werden, hilft es oft, die Position der CAPS LOCK-Taste zu kontrollieren, falls sich vi beharrlich weigert, Ihre Befehle zu verstehen.
Eine Tilde am Zeilenanfang bedeutet, dass diese Zeile nicht mehr zur Datei gehört. Dies erleichtert das Erkennen des Dateiendes.
vi wird durch ZZ oder ":wq" verlassen, wobei alle an der Datei vorgenommenen Aenderungen abgespeichert werden. Falls vi verlassen werden soll, ohne die Aenderungen abzuspeichern, so verwendet man ":q!".
Die wichtigsten Editierkommandos in vi sind im Anhang zusammengestellt!
Um emacs zu starten, tippt man einfach emacs. Geschieht das zum ersten Mal, so sollte unbedingt mit "C-h t" das Tutorial aufgerufen werden. In einem ca. halbstündigen Kurs lernt man damit die Grundzüge von emacs kennen. Einen Ueberblick über die wichtigsten Kommandos in emacs bietet die Referenzkarte im Anhang.
Mit dem Kommando "C-x C-f", gefolgt vom gewünschten Dateinamen, werden Dateien eingelesen. Emacs achtet dabei auf besondere Endungen der Dateinamen, wie ".c" oder ".tex", und startet für diese Dateien einen passenden Modus. Diese Modi erleichtern das Editieren sehr. Der C-Modus rückt z.B. den Code automatisch passend ein, während man tippt, der TeX-Modus erlaubt es, zueinander gehörende $-Zeichen und Klammern zu finden (es gibt spezielle Modi für LaTeX, die bequeme Abkürzungen für viele LaTeX-Kommandos bereitstellen). Information über den aktuellen Modus erhält man mit "C-h m". In emacs können mehrere Dateien gleichzeitig editiert werden. Jeder Editiervorgang erhält einen eigenen Pufferbereich. Zwischen den einzelnen Puffern kann beliebig gewechselt und es können Teile hin- und herkopiert werden.
Das Informationssystem von emacs wird durch "C-h i" gestartet. Die wichtigsten Kommandos werden angezeigt. Es gibt dort ein Tutorial über das Informationssystem selbst. Des weiteren enthält das Info-System meist ausführliche Dokumentation zu emacs und anderer Software der FSF.
Um ein editiertes File abzuspeichern, verwendet man "C-x C-s". Verlassen wird emacs mit "C-x C-c". Dabei wird für jedes editierte File gefragt, ob die Aenderungen abgespeichert werden sollen. Für den Fall eines System-Crashes legt emacs während des Editierens Sicherheitskopien an. Diese heissen #<filename>#, wobei <filename> der Name der editierten Datei ist. Nach explizitem Abspeichern der betreffenden Datei wird die Sicherungskopie gelöscht. Falls es einmal nötig sein sollte, eine derartige Sicherungskopie über die Shell anzusprechen, müssen die "#"-Zeichen in Anführungszeichen gesetzt werden, da sie für die Shell Kommentarsymbole darstellen. Zusätzlich zu diesen Sicherheitskopien erzeugt emacs eine Kopie der vorletzten explizit abgespeicherten Version des editierten Files. Diese Backup-Dateien heissen filename~. Sie sind nützlich, wenn im Ueber-eifer in einer Datei zuviel gelöscht und diese Version auch noch abgespeichert wurde. Kleinere, noch nicht explizit abgespeicherte Malheurs sind einfach durch wiederholte Anwendung der Undo-Funktion "C-x u" oder "C-_" zu beheben.
M-x RZU-menu bzw. ESC x RZU-menuDabei drücken Sie zuerst die ESC-Taste, dann x, schliesslich geben Sie "RZU-menu" ein. Drücken Sie die F2-Taste, um die Bedeutung der Funktionstasten einzublenden:
Uebrigens wurden alle vom Zentrum Informatikdienste definierten Lisp-Variablen mit der Kennung "RZU-" versehen. Siehe auch
C-h v RZU-use-menu C-h v RZU-use-PFKeysDer Emacs-Anhang (25. Einfache Anpassungen, Seite 62) weist darauf hin, wie Sie im Lisp einfache Anpassungen vornehmen können, z.B. eine RZU-Variable setzen.
Generated with WebMaker