Ich werde in diesem Text den Befehl vi synonym für die Befehle vim und gvim nutzen.

Start

In der Konsole starte ich den Editor einfach mit

vim,

wenn ich in der Textkonsole bleiben will oder

gvim & disown,

um den grafischen gvim aus dem Terminal heraus so zu starten, daß er unabhängig vom Terminal läuft. Wenn ich dem vi beim Start einen bestehenden Text mitgebe, dann wird dieser Text in den Puffer geladen. Existiert der Text nicht, so wird ein leerer Puffer angezeigt und beim Speichern die Datei mit dem aufrufenden Textdateinamen erzeugt. Der Befehl würde dann zum Beispiel vi text.txt lauten.

Modi des vi

Der vi startet im sogenannten Normalmodus. Man kann durch den geöffneten Text navigieren. In diesen Modus kann man immer wieder mittels <ESC> gelangen. Mit i (input) gelangt man in den Einfügemodus und kann Zeichen an der aktuelen Cursorposition eingeben. Und mit a (append) ebenfalls, wobei hier der Text nach dem aktuellen Zeichen angehangen wird. Vom Normalmodus kann man mit : in den Kommandomodus wechseln, um zum Beispiel mittels :wq (für write und quit) den aktuellen Puffer in die Datei zu schreiben und dann zu schließen. Mit :w! wird die Datei geschrieben und mit :q! wird die Datei geschlossen.

Text erfassen

Um Text zu erfassen muss der Normalmodus verlassen und der Einfügemodus gestartet werden. Mit i für insert an der aktuellen Textstelle kann man diesen Modus starten. Will ich Text nach dem aktuellen Zeichen anhängen, verwende ich a für append.

Im Text navigieren

Klar, kann man das auf den heute gängigen Tastaturen mit den Pfeiltasten erledigen, doch ist es manchmal einfach effizienter, nicht die Pfeiltasten zu suchen, sondern mit den Tasten h für ein Zeichen nach links, j für eine Zeile nach unten, k für eine Zeile nach oben und l für ein Zeichen nach rechts. Mit w (word) navigiere ich ein Wort weiter und mit b (back) ein Wort zurück. Dies alles im Normalmodus.

Im vi kann man Befehle mittels einer Zahl wiederholt ausführen lassen, so kann man zum Beispiel mittels 10w 10 Worte im Text weiter navigieren. Oder mit 6j kann man 6 Zeilen nach unten springen.

Mit 0 gelange ich sehr schnell zum Anfang der Zeile und mit $ an das Zeilenende.

An den Textanfang gelange ich im Kommanodmodus mit 1G und an das Textende mittels G.

Man sollte sich, wenn man gerade nicht schreibt, am besten immer im Normalmodus befinden, um effizient durch den Text zu navigieren. Daran halte ich mich mittlerweile und lebe - aus Editiersicht - gut damit.

Text speichern, verlassen oder speichern und verlassen

Den Text speichere ich aus dem Normalmodus heraus mit <ESC> (Wechsel in den Normalmodus) dann :w! (wobei das : der Wechsel in den Kommandomodus darstellt).

Mittels

:saveas [Dateiname]

kann ich das Textfile auch unter einem anderen Dateinamen speichern.

Um das Textfile zu speichern und zu verlassen muss man :wq für write und quit eingeben.

Um ohne zu speichern das Textfile zu schließen, muß lediglich :q! eingegeben werden.

Ende Part 02

Das sollte ersteinmal ausreichen, um den vi grob zur Texterstellung zu verwenden.

Im nächsten Blogpost zu diesem Thema werde ich eine strukturierte Tabelle mit den bereits gelernten Befehlen erstellen und diese dann immer wieder up-to-date halten.

Habt bis dahin Spaß mit dem vi :-)