vi – Navigieren & Bearbeiten

            Lutz.Donnerhacke@Jena.Thur.De

3. Februar 2000

Zusammenfassung

Schulungsunterlage für Einsteigerkurse »vi« im Internetraum des Jugendzentrums Trend in Jena durchgeführt vom Thüringen Netz e.V. mit freundlicher Unterstützung des Jugendzentrums Trend, der Stadt Jena und vieler fleißiger Helfer. Dieser Kurs dient dazu, den Editor vi soweit kennenzulernen, dass man damit Texte ansehen und bearbeiten kann.

1 Worum geht’s?

Um Texte zu erfassen und zu bearbeiten, ja selbst im Texte nur anzusehen, verwendet man einen Editor^{1}. vi steht für Visual Editor und ist der Wysiwyg^{2} Zusatz für den Editor ed.

Im Ernst: Zu Beginn der Rechentechnik arbeitete man mit Fernschreibern, an denen man eine Zeile eintippen oder ausgeben konnte. Wollte man eine Datei bearbeiten, so hat man sich die interessante Zeile ausgeben lassen und dann diese gelöscht oder eine neue Zeile eingefügt. Man konnte auch sagen, »Ersetze mir das Wort bla durch blubber«. Man musste natürlich zwischen der Eingabe von neuem Text und der Eingabe von Kommandos beim ed unterscheiden. Nicht sehr komfortabel, oder?

vi gestattet es, einen bestimmten Ausschnitt der zu bearbeitenden Datei auf dem Bildschirm anzuzeigen und dort mit einem Cursor^{3} sich an die Stelle zu begeben, die man bearbeiten will.

Hat man diese Position erreicht, so kann man den dort stehenden Text löschen, überschreiben oder neuen Text einfügen. Dabei ist es auch möglich,

1 Anwendung, die Texte aus dem Dateisystem laden, anzeigen und modifizieren kann. 2 Was Du siehst, ist auch das, was hinten rauskommt. 3 Eine Marke, die die Position angibt.

gelöschten Text an anderer Stelle neu einzufügen. Das funktioniert über eine Zwischenablage^{4}.

Abschließend kann man natürlich auch den geänderten Text abspeichern oder die Änderungen verwerfen.

Aufgabe 1.1 Wie wird der Cursor auf den ersten Terminals ausgesehen haben?

2 Navigieren

Zum Üben starten Sie erstmal den vi mit |vi demo.txt|. Die Datei demo.txt wurde vom Übungsleiter bereitgestellt. Es erscheint ein Bildschirm wie in Abbildung 1. Der Cursor steht dabei auf dem ersten Buchstaben, dem v.

        \underline{v}i steht für Visual Editor und ist der Wysiwyg Zusatz für den Editor ed.
        Im Ernst:  Zu Beginn der Rechentechnik arbeitete man mit Fernschreibern, an
        denen man eine Zeile eintippen oder ausgeben konnte.  Wollte man eine Datei
        bearbeiten, so hat man sich die interessante Zeile ausgeben lassen und dann
        diese gelöscht oder eine neue Zeile eingefügt.  Man konnte auch sagen,
        "Ersetze mir das Wort bla durch blubber".  Man musste natürlich zwischen der
        Eingabe von neuem Text und der Eingabe von Kommandos beim ed unterscheiden.
        Nicht sehr komfortabel, oder?
        ~
        ~
        "demo.txt" 9 lines, 552 chars

Abbildung 1: Startbildschirm

Die Cursortasten sind eine neumodische Erfindung. Alles was man als wirklich immer existierend voraussetzen kann, sind die Ziffern und Buchstaben auf der Tastatur. Demzufolge navigiert man innerhalb von vi meistens mit den Tasten H , J , K und L . Tippen Sie einfach einige Male L für die Bewegung nach links, H für die Bewegung nach rechts.

Aufgabe 2.1 Was machen die Tasten J und K ? (Ausprobieren!)

Natürlich gehen diese Bewegungen auch mit den normalen Cursortasten (Ausprobieren!). Allerdings sollte man sich darüber klar sein, dass diese nicht notwendig sind.

Tippt man zuerst eine Zahl und dann eine der Aktionstasten, so wird diese Aktion so oft ausgeführt, wie die Zahl angibt.

Aufgabe 2.2 Auf welchem Zeichen steht man nach der Eingabe von 1 7 L , wenn der Cursor am Textanfang steht? (Ausprobieren!)

4 Eine Art Kurzzeitgedächtnis des Editors.

Die Tasten W und B springen wortweise vorwärts und rückwärts. Mit ⇑ zusammen werden die Wortgrenzen durch Leerzeichen festgelegt.

Aufgabe 2.3 Warum bleibt der Cursor mit W am ü von für hängen? Wie kann man das vermeiden?

E springt an das nächste Wortende. 0 wechselt an den Anfang der Zeile, $ an das Zeilenende. ⇑ + G an das das Ende der Datei. Strg + B blättert einen Bildschirm hoch und Strg + F einen Bildschirm runter. ⇑ + H springt an den Anfang des Bildschirms, ⇑ + L an das Ende. Natürlich kann man das auch alles mit den einfachen Cursortasten machen. Es ist nur manchmal praktischer, die Abkürzung zu kennen.

Manchmal muss man an die Stelle springen, an der eine bestimmte Wortgruppe steht. Man sieht die Worte aber von Hand hinlaufen? Viel zu unbequem! Mit / gelangt man in die unterste Zeile. Dort gibt man seinen Suchbegriff ein. Wird dieser mit Enter bestätigt, so springt der Cursor an die richtige Stelle. Mit N und ⇑ + N kann man vorwärts oder rückwärts weitersuchen.

Aufgabe 2.4 Was passiert bei ⇑ + H / O D E R Enter 3 N im Demonstrationstext?

Die Richtungstasten^{5} sollte man auswendig lernen, nicht nur weil man sie im nächsten Abschnitt benötigt. Deswegen: Jetzt ausprobieren!

Aufgabe 2.5 Nehmen Sie sich einen Zettel und einen Stift und notieren Sie die Wirkungen der Richtungstasten.

3 Eingaben

Mit der Taste I wechselt man in die Eingabe. Alle folgenden Tasten werden als Zeichen in die Datei vor die Cursorposition geschrieben. Mit der Taste Esc kommt man wieder in den Kommandomodus zurück.

Mit U kann man die letzte Änderung rückgängig machen. Das hilft aber oft nicht viel, hier genügt es, um immer wieder neu ansetzen zu können.

Fügen Sie vor dem Wort Rechentechnik das Wort alten ein! (Ausprobieren!)

Mit der Taste ⇑ + I wechselt man ebenfalls die Eingabe. Allerdings wird nach der Cursorposition eingefügt. (Ausprobieren!)

5 Eine Taste, die den Cursor bewegt, am häufigsten wohl W und ⇑ + W .

Aufgabe 3.1 Wie kommt man aus dem Eingabemodus ⇑ + I wieder heraus?

Will man Text löschen, so tippt man einfach auf X . Löschen Sie alten wieder!

Es ist umständlich, zeichenweise zu löschen, deswegen kann man mit D – gefolgt von einer Richtungstaste – von der aktuellen Stelle in die angegeben Richtung löschen. Um die ganze aktuelle Zeile zu löschen, kann man D D eingeben.

Gelöschten Text kann man mit P nach und mit ⇑ + P vor der aktuellen Cursorposition wieder einfügen. Auf diese Weise kann man kopieren!

Aufgabe 3.2 Was passiert bei D E ?

Aufgabe 3.3 Warum ist X P auf der vi-Tasse als besonders interessanter Befehl mit aufgeführt?

Da es ebenso umständlich ist, Text erst zu löschen und dann neu zu tippen, kann man mit R ein Zeichen überschreiben und mit ⇑ + R in einen Überschreibmodus wechseln.

Mit C und einer Richtungstaste kann man den so ‘übersprungenen’ Text gegen einen selbst eingegebenen austauschen. Dabei ersetzt der neue Text den alten, ohne den Text außerhalb zu überschreiben.

Aufgabe 3.4 Ersetzen Sie das Wort Rechentechnik durch Computer?

Aufgabe 3.5 Warum ist die vi-Tasse so klein?

4 vi verlassen

Aus dem Kommandomodus gelangt man nach der Eingabe von : in die unterste Zeile. Dort können wesentlich längere Kommandos eingegeben werden. Zum Verlassen ohne Abspeichern z. B. gibt man q!, sonst w ein.

Auch hier gelangt man mit Esc wieder in den normalen Kommandomodus. Man kann generell sagen: Wer öfter mal Esc drückt, macht nicht mehr falsch, als seine Mitmenschen zu nerven, weil es dauernd piept.

Die weiteren Kommandos, die hier möglich sind, sprengen den Rahmen dieser Einführung.

Aufgabe 4.1 Verlassen Sie vi und starten Sie vi ohne Angabe einer Datei. Was kann man nun tun?

5 Lösungen zu den Aufgaben

1.1 Der Druckkopf des Fernschreibers – selbst nur eine elektrische Schreibmaschine – hatte oben eine Markierung, die auf die nächste druckbare Position zeigte. Jedes Zeichen wurde sofort gedruckt. 2.1 J geht eine Zeile tiefer und K eine Zeile höher. Beachten Sie, dass der Cursor in kürzeren Zeilen zurückspringen kann und dann wieder die richtige Spalte erreicht. 2.2 Auf dem a von Visual. 2.3 vi erkennt die Wortgrenzen daran, dass nach einigen Buchstaben etwas anderes kommt. Die Umlaute werden üblicherweise nicht als Buchstaben erkannt. Frühe Rechnersysteme hatten diese Zeichen gar nicht. Sollte bei Ihnen das ü nicht besonders behandelt werden, so denken Sie das nächste Mal an eine kleine Aufmerksamkeit für Ihren Administrator. 2.4 In der letzten Zeile erscheint die Ausgabe (wrapped) und der Cursor bleibt stehen. 3 N springt dreimal nach vorn. Nur zwei weitere Sequenzen von oder vorkommen, springt das dritte N an die erste Fundstelle. 2.5 Den Zettel benötigen Sie in Ihrer Geldbörse, diese Anleitung bleibt jedoch im Schulungsraum. Also nicht rumfaulenzen! 3.1 Auch mit Esc . 3.2 Es wird zum nächsten Wortende gelöscht. 3.3 X löscht das Zeichen unter dem Cursor. Da P den gelöschten Text – das einzelne Zeichen – nach der aktuellen Cursorposition wieder einfügt, vertauscht diese Tastenkombination effektiv zwei Zeichen. 3.4 Sie stellen sich auf den Anfang der Wortes und tippen dort C W . Alternativ kann man sich auch auf das Ende stellen und C B eingeben.

Wem das alles zu kompliziert ist, der löscht das Wort mit D W (oder D B oder ganz einfach mit X ) und fügt ein neues mit I ein.

Will man Rechentechnik durch Computertechnik ersetzen, bietet sich

 C  /  T  E  Enter an.

3.5 Weil vi in sich logisch ist. Wiederholungen, Aktionen und Richtungen sind nicht voneinander abhängig. 4.1 Der Schirm ist leer, man kann jetzt mit I in den Eingabemodus umschalten und anfangen zu arbeiten. Abspeichern kann man das Produkt dann mit |w "datei"|. Ein einfaches w hilft deswegen nicht, weil vi nicht weiß, wie die Datei heißen soll.