vi / vim
Problem
Ich habe bei mir festgestellt, dass ich mit diesem Editor nicht zurecht komme und mir die Kommandos lediglich unzureichend merken kann. Gewöhnungsbedürfig ist für mich, dass ich ständig zwischen Befehlsmodus und Kommandozeilenmodus wechseln muss.
Die Anleitung des System habe ich gesehen. Dir erleichter mir den Einstieg nicht. Darum habe ich hier einige Hinweise zusammengefasst. Verwendet habe ich Debian Buster
Programmstart
In der geöffneten Konsole wird das Programm mit
$ vi
gestartet. Es erscheint eine Meldung, dass 'VIM - VI IMproved' gestartet wurde und eine Kurzübersicht ist zu sehen. Soweit, so gut und schon geht gefühlt nichts mehr.
Programmstart mit Dateiname
Das Programm ist im Befehlsmodus
vi mit dem Namen einer bereits vorhandenen Datei öffnet das Programm und die Datei. Ist die Datei nicht vorhanden, wird sie erstellt.
$ vi test.txt
Der Cursor steht oben in der ersten Zeile an der ersten Stelle.
Navigation in der geöffneten Datei
h - Cursor nach links l - Cursor nach rechts (kleines L) j - Cursor nach unten k - Cursor nach oben
Zeile/n löschen
Um eine einzelne Zeile zu löschen, tippt man in diesem Modus
dd
ein. Return ist nicht erforderlich.
Mehrere Zeilen lassen sich löschen, indem man eine Zahl für die Anzahl der zu löschenden Zeilen eingibt und danach 'dd'. Um also drei Zeilen ab der Cursorposition und nach unten zu löschen, tippt man dies ein:
3dd
Änderung zurücknehmen
Wenn zum Beispiel das Löschen rückgängig gemacht werden soll, tippt man
u
ein.
In Einfügemodus wechseln
i (bedeutet 'insert')
oder
a (bedeutet 'append')
oder
o (bedeutet 'other line')
Zum Zeilenende springen
A
In Einfügemodus verlassen
Zurück in Befehlsmodus
ESC
Zeile unter dem Cursor einfügen
o (kleines o)
Zeile über dem Cursor einfügen
O (großes O)
Zeile kopieren
Cursor an die Stelle setzen, ab der kopiert werden soll, dann mit
v
in den Visualmode wechseln. Cursor bewegen; das klappt an dieser
Stelle außer mit den oben angegebenen Tasten auch mit den Cursortasten.
dann
d
für delete drücken. Der Text ist verschwunden und es bleibt eine leere Zeile.
Text hinter dem Cursor einfügen
p
Text vor den Cursor einfügen
P
Text verschieben
Im Visualmode den betreffenden Bereich markieren, dann den Cursor an die passende Stelle setzen und
y
drücken. In meinem Test wurde der Text ebenfalls eingefügt. Die Quelle blieb bestehen. Der kopierte Text wurde lediglich kopiert, nicht verschoben.
Kommandozeilenmodus
Speichern
:w
Wenn vi geöffnet wurde, ohne dabei eine Datei zu laden, kann der Dateiname beim Kommado zum Speichern angegeben werden. Die Endung '.txt' habe ich hier lediglich darum eingegeben, um später besser erkennen zu können, mit welcher Art von Datei ich es zu tun habe.
:w dateiname.txt
Wird an dieser Stelle kein Dateiname eingegeben, erscheint eine entsprechende Fehlermeldung.
Zeilennummern anzeigen lassen
:set number
Zeilennummern ausblenden lassen
:set nonumber
Speichern und beenden
:wq
oder
:x
Eines dieser Kommandos führt nach 'Enter' zurück in Befehlsmodus
Beenden ohne zu speichern
:q!
Kompatibilitätsmodus abschalten
Das erleichtert die Bedienung.
:set nocp