|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ISBN: 3815825199 ISBN: 3815825199 ISBN: 3815825199 ISBN: 3815825199 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
Wir empfehlen: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Eine frei verwendbare Unix-Grundlagenschulung mit muLinuxUm diese Übung auf unsere Arbeitsdiskette zu speichern, legen wir diese in das Disketten-Laufwerk, mounten das Laufwerk nach /a und wechseln in das Verzeichnis /a./# mount /dev/fd0 /a /# cd /a /a#
Alle Konfigurationsdateien bei Unix sind Textdateien.
Deshalb ist sind Kenntnisse zur Bedienung eines überall verfügbaren Texteditors unumgänglich.
Wir sollten also in der Lage sein zumindest kleine Änderungen mit Hilfe des vi durchzuführen.
Keine Angst! Wir werden damit keine Romane schreiben.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ "text.txt" [New File] 1 line, 1 char |
Die unterste Zeile dient zur Anzeige von Informationen und zur Kommunikation mit dem Nutzer. Hier wird der Dateiename angezeigt. Außerdem sieht man den Hinweis, daß es sich um eine neue Datei (engl. file) handelt. Die Datei besteht zur Zeit aus einer Zeile (engl. line) und einem Zeichen (engl. character).
: w
Die Taste [Esc] leitet den Befehlsmodus ein. Der Doppelpunkt startet den Letzte-Zeile-Modus, eine spezieller Befehlsmodus, der in der letzten Zeile mit dem Nutzer kommuniziert. Im Letzten-Zeile-Modus wird der Befehl w (write, engl. für Schreiben) eingegeben. Die Taste [Enter], bzw. [Enter] schließt den Letzte-Zeile-Modus ab. Das klingt sicherlich etwas sonderbar.
Beim vi sollte man immer einen Finger an der [Esc]-Taste haben. Ich verwende dazu Meist den kleinen Finger der linken Hand.
: q
Anstelle der Taste w wird aber die benachbarte Taste q (quit, engl. für Beenden) gedrückt. Bei den vi-Befehlen wird übrigens zwischen Groß- und Kleinschreibung unterschieden.
In der letzten Zeile blinkt nun wieder unser muLinux-Cursor. Der Befehl ls zeigt uns, daß die Datei wirklich existiert.
/a# ls
test.txt
Wir starten mit Hilfe der Befehlswiederholung (Cursor-Taste nach oben) den Befehl vi text.txt neu.
/a# vi test.txt
Im Befehlsmodus werden die eingegebenen Zeichen unmittelbar als Befehle des Editors interpretiert und ausgeführt. Dabei gibt es weder ein Bereitschaftszeichen (Prompt) noch ein Echo (Ausgabe).
Der Letzte-Zeile-Modus ist der einzige Modus mit einem eigenen Bereitschaftszeichen, nämlich dem Doppelpunkt ": ". Der Prompt wird ebenso wie die Befehlsausgaben in der Statuszeile angezeigt.
Der Textmodus dient zur Bearbeitung von Text. Alle hier eingegebenen Zeichen werden als Text der aktuellen Datei interpretiert.
Nach dem Start befindet sich der vi im Kommando-Modus. In diesem Modus kann man leider keinen Text eingeben.
Hier kann der Cursor mit den Cursortasten und einer Vielzahl von anderen Zeichentasten an eine beliebige Stelle bewegt werden. Ein Wechsel zwischen den unterschiedlichen Modi ist jederzeit möglich.
Durch Betätigen spezieller Buchstabentasten gelangt man in den Textmodus. Ich verwende meist die Taste i (insert, engl. einfügen). Den Buchstaben i sollte man sich unbedingt merken.
Jetzt können wir einfach losschreiben. Ein Enter erzeugt einen Zeilenumbruch. ~ ~ ~ ~ ~ ~ ~ ~ ~ |
Ein Druck auf die Esc-Taste führt wieder in den Befehlsmodus zurück.
Wir speichern gleich noch mal.
: w
Wir haben jetzt [Esc] zweimal hintereinander gedrückt. Das macht nichts. Man sollte lieber einmal mehr diese Taste drücken als einmal zuwenig. So weiß man wenigstens, daß man den Textmodus verlassen hat.
Wir wollen unseren Text weiterschreiben. Hier alle Befehle zum Wechseln in den Textmodus:
| i | Text vor der aktuellen Cursorposition einfügen | |
| I | Text am Zeilenanfang einfügen | |
| a | Text hinter der aktuellen Cursorpositon einfügen | |
| A | Text am Zeilenende einfügen | |
| o | Unterhalb der aktuellen Zeile eine neue Zeile einfügen | |
| O | Oberhalb der aktuellen Zeile eine neue Zeile einfügen |
Schreibe noch ein paar nette Zeilen und speichere alles ab.
| u | Macht die letzte Änderung rückgängig | |
| U | Die komplette Zeile wird wieder hergestellt. |
Ich denke diese Befehle prägen sich bei der Arbeit mit dem vi schnell ein.
Mittels folgender Kommandos bewegt sich der Cursor durch den Text. Wir brauchen [Esc] natürlich nur einmal drücken, um in den Befehlsmodus zu kommen.
| h | Cursor ein Zeichen nach links | |
| j | Cursor eine Zeile nach unten | |
| k | Cursor eine Zeile nach oben | |
| l | Cursor ein Zeichen nach rechts |
Wie wir sehen, liegen diese Tasten in Reihe auf der Tastatur. Für die rechte Hand geradezu ideal erreichbar (h Zeigefinger, j Mittelfinger, k Ringfinger, l kleiner Finger) :
In der Nähe (obere Tastenreihe) liegen auch unsere wichtigsten Tasten i (Textmodus) und u (undo), die für Mittel- und Ringfinger gut erreichbar sind. Wir sparen uns das Wechseln der rechten Hand zu den Cursortasten. Damit ist (für vi-Profis) ein sehr schnelles Arbeiten möglich.
Weitere wichtige Navigationstasten sind:
| w | Cursor ein Wort nach rechts | |
| 3w | Cursor drei Wörter nach rechts | |
| b | Cursor ein Wort nach links | |
| 7b | Cursor sieben Wörter nach links | |
| Bildschirmseite vorwärts (engl. forward) | ||
| Bildschirmseite rückwärts (engl. back) | ||
| 0 (Null) | Zeilenanfang | |
| $ | Zeilenende | |
| 1G | Dateianfang | |
| G | Dateiende |
Sicherlich wird sich keiner diese Befehle sofort merken. Zum Üben empfehle ich eine längere Datei zu öffnen. Zum Beispiel kann dazu die Datei /usr/doc/readme.html verwendet werden. Zuerst speichern ([Esc] :w [Enter]) und schließen ([Esc] : q [Enter]) wir unsere selbstgeschriebene Textdatei. Dann öffnen wir die oben erwähnte Datei:
/a# cd /usr/doc
/usr/doc# vi readme.html
Falls wir uns vertippt haben wird eine leere Datei angelegt. Dann verlassen wir noch mal den vi und versuchen es noch mal. Wenn wir die Datei /usr/doc/readme.html endlich auf den Bildschirm haben üben wir das Navigieren durch den Text. Diese Datei ist übrigens eine HTML-Datei, also eine Internet-Seite.
: q ! ![]()
/a#
Die nachfolgenden Befehle kann man nicht sofort lernen. Besser ist diese gelegentlich zu üben. Wichtig ist vorerst das Verstehen der Arbeitsweise des vi mit seinen Modis.
Weisheiten Abendrot - Dunkelheit droht! Das klappt ja wie am Spieß! Alte Liebe kostet nichts! Indien den Indianern! "Edel" trinkt der Mensch, dann wird er hilfreich und gut. Schluß mit durstig! Lieber der Spatz auf der Taube als das Dach in der Hand! Ten Beers After My home is my beer castle. Two beer or not two beer - that is here the question! Shakesbeer ~ ~ ~ |
Ein Suchen wird normalerweise mit einem Slash / eingeleitet. In dem Moment, in dem man diesen Schrägstrich eingibt, erscheint der Schrägstrich in der letzten Zeile des Bildschirmes, und der Cursor blinkt dahinter. Nun kann der suchende Text eingegeben werden. Die Suche beginnt, sobald man zum Abschluß [Enter] drückt.
In Richtung Dateianfang (nach oben) wird gesucht, wenn statt des Schrägstriches ein Fragezeichen ? eingegeben wird.
| /<Ausdruck> | Sucht den angegebenen Ausdruck im Text (vorwärts) | |
| ?<Ausdruck> | Sucht den angegebenen Ausdruck im Text (rückwärts) | |
| n | Weitersuchen | |
| fX | Einfache Suche: Finde (engl. find) das nächste Vorkommen des einen Zeichens X |
Um z. B. das Wort "der" in dem Text zu suchen, gibt man folgendes ein:
/der
Wenn mehrere Zeichen an einer Position möglich sein sollen, werden diese in eckigen Klammern [ ] angegeben. Der folgende Befehl such nach zwei Möglichkeiten: "Der" oder "der".
/[Dd]er
Man kann auch Bereiche angeben. Hier werden alle Buchstaben von C bis G akzeptiert:
/[C-G]er
Man kann auch Zeichen ablehnen. Dazu dient das Zeichen ^. In diesem Beispiel sind an erster Stelle keine Kleinbuchstaben erlaubt:
/[^a-z]er
Ein beliebiges Zeichen wird durch einen Punkt . dargestellt. Ein Leerzeichen ist natürlich auch ein Zeichen.
/.er
Zum Ersetzen dient dient das Kommando /s mit folgender Syntax:
:[Zeile1,Zeile2]s/text1/test2/[gc]
Die Angabe der Zeilen ist optional. Läßt man sie weg, wird nur in der aktuellen Zeile gesucht. Zeile1 steht für den Anfang des Suchbereiches, Zeile2 für das Ende. Es sind dabei auch folgende Sonderzeichen möglich: Der Punkt . als Kennzeichen für die aktuelle Zeile. Der Dollar $ für die letzte Zeile.
Die Option g am Ende bewirkt das Austauschen aller Vorkommen im Bereich. Läßt man ihn weg, wird nur das erste Vorkommen ersetzt.
Um jede Ersetzung bestätigen zu können (engl. confirm) dient das c am Ende.
In diesem Beispiel wird im gesamten Text nach "Meier" gesucht und nach Bestätigung durch "Meyer" ersetzt.
1,$s/Meier/Meyer/gc
| dd | Löscht die gesamte Zeile | |
| 5dd | Löscht die die nächsten 5 Zeilen | |
| dw | Löscht von Cursorposition bis zum Ende des Wortes | |
| dG | Löscht bis zur letzten Zeile einschließlich aktueller Zeile | |
| d0 | Löscht bis zum Zeilenanfang | |
| d$ | Löscht bis zum Zeilenende | |
| d1G | Löscht bis zur ersten Zeile einschließlich aktueller Zeile | |
| dfX | Löscht bis zum nächsten Vorkommen des Zeichens X |
Hier noch weitere Lösch-Befehle:
| x | Löscht das Zeichen auf Cursorposition | |
| J | Löscht den Zeilenumbruch zur nächsten Zeile und verbindet (engl. join) dadurch die Zeilen |
| p | Fügt den Puffer nach aktueller Zeile ein (engl. paste) | |
| P | Fügt den Puffer vor aktueller Zeile ein |
Um einen Textbereich zu kopieren, muß er erst mal definiert werden. Dazu dient der Befehl [Esc] y. Dieser muß wie der Löschbefehl d mit einer Positionsangabe ergänzt werden.
| yw | Kopiert von Cursorposition bis zum Ende des Wortes in den Puffer | |
| yG | Kopiert bis zur letzten Zeile einschließlich aktueller Zeile in den Puffer | |
| y0 | Kopiert bis zum Zeilenanfang in den Puffer | |
| y$ | Kopiert bis zum Zeilenende in den Puffer | |
| y1G | Kopiert bis zur ersten Zeile einschließlich aktueller Zeile in den Puffer | |
| yfX | Kopiert bis zum nächsten Vorkommen des Zeichens X in den Puffer | |
| yy | Kopiert die aktuelle Zeile in den Puffer |
Eingefügt wird der Pufferinhalt natürlich auch mit den oben genannten Einfügebefehlen p und P.
/# cd /usr/doc/help
/usr/doc/help# vi *
Zur nächsten Datei gelangt man mit :n.
: n
/# cd /etc
/etc#
/etc# cp issue issue.original
/etc# vi issue
Wir sehen eine Reihe von Kontrollzeichen, die für die farbliche Unterlegung und die italienische Fahne beim Login verantwortlich sind. Wir löschen alles. Wenn der Cursor in der ersten Zeile steht, geben wir dazu den folgenden Befehl ein:
dG
Dadurch wird von der aktuellen Zeile bis zum Dateiende alles gelöscht. Nun können wir unsere eigene Begrüßungsmeldung eingeben. So z. B.
Hallo, das ist mein Login-Prompt!
Wir verlassen den vi und loggen uns mit dem Befehl exit aus. Jetzt müßte uns unser eigener Login-Prompt begrüßen.
/# cd /etc
/etc# cp ls.conf ls.conf.original
/etc# vi ls.conf
Wir löschen den Inhalt und schreiben nur eine Zeile:
-l
Jetzt speichern wir die Datei und verlassen den vi. Wenn wir nun ls aufrufen wird in Wirklichkeit ls -l aufgerufen.
Dies ist nur ein sehr kleine Auswahl der Möglichkeiten des vi. Es gibt noch weitaus mehr Befehle. Aber ich denke das reicht erst mal für den Anfang.
Um diese Übung zu beenden heben wir die mount-Zuordnung unserer Arbeitsdiskette auf.
/a# cd /
/# umount /a
/#
|
Das Große Buch Knoppix (Taschenbuch)
von Rainer Hattenhauer | |
| Siehe auch: | |
| Das Franzis Handbuch Knoppix (Franzis Hot Stuff) von Christian Immler | |
| Sonstige Artikel: | |
| Zirkuläres Fragen. Systemische Therapie in Fallbeispielen: Ein Lernbuch. (Gebundene Ausgabe) von Fritz B. Simon, Christel Rech-Simon | |
| Braun Oral-B EB 25-2 Micro-Pulse Aufsteckbürste von Braun | |
| Der bankbetriebliche Zahlungsverkehr (Bankinformatik-Studien) (Taschenbuch) von Gerald R. Riedl | |
