Die einen lieben es, die anderen haben nur Unverständnis für den Editor übrig. Ich gehöre zu den einen und das aus gutem Grund und der ist nicht nur die Gewöhnung, sondern vor allem die Mächtigkeit. Ich zeige hier ein paar ganz einfache, aber sehr nützliche Möglichkeiten auf. Von Dingen wie Speichern und Beenden von Vim nehme ich Abstand. Das sollte nun hinreichend bekannt sein.
Splitscreen
Man hat ein Textdokument offen und möchte in einer Konfigurationsdatei ein paar Parameter ändern. Es ist hilfreich das Textdokument Zwecks abschreiben dabei geöffnet zu haben. Wie das geht?
Von Bash aus
vim -O datei1 datei2
<- vertikalvim -o datei1 datei 2
<- horizontal
Bereits in vim
vim [Textdokument]
:vsplit
eingeben. Mit STRG+w
und den Pfeiltasten lässt sich dann zwischen den Fenstern wechseln. Man wechselt in das andere Fenster ... :e [Konfigurationsdatei]
die Config öffnen.:set scrollbind
verwenden bzw. mit :set noscrollbind
aufheben.Ausgabe eines externen Kommandos in Vim reinholen
Man befindet sich in Vim und bearbeitet eine Datei. Nun kann man sich einiges an Schreiben sparen, wenn man bspw. den Output von "ip a" direkt in Vim rein holt statt alles händisch zu schreiben oder per Copy/paste zu arbeiten.
Das geht im Kommandomodus mit :read !ip a
Farbschema wechseln
Nicht immer ist das Default-Farbschema brauchbar. Siehe Debian, wenn man an die Kommentarzeilen denkt, die in dunklem Blau dargestellt werden. Lesbar ist das nicht unbedingt. Man kann aber mit einem :color desert
das Farbschema innerhalb von vim ändern. Welche Farbschemata es gibt kann man sehen, wenn man in /usr/share/vim/vim80/colors
schaut.
Wort(e) löschen
An den Anfang des Wortes mit dem Cursor und dann "dw" drücken. Möchte man mehrere Worte löschen, so fügt man eine Zahl hinzu. Beispiel: d4w
<- löscht 4 Worte ab dem Cursor.
Zeile(n) löschen
Möchte man nur eine einzige Zeile löschen, so begibt man sich mit dem Cursor in diese Zeile und drückt "dd" (2 x d). Die Zeile verschwindet.
Möchte man mehrere Zeilen auf einen Schlag löschen, so geht man in die erste zu löschende Zeile, drückt "d" und dann die Zahl der zu löschenden Zeilen. Beispiel: d3 für 3 Zeilen löschen.
Zeile(n) kopieren
Möchte man nur eine Zeile kopieren so begibt man sich mit dem Cursor in diese Zeile und drückt "yy" (2 x y). Dann bewegt man sich mit dem Cursor zum Zielort und drückt dann "p"
Möchte man mehrere Zeilen kopieren, so begibt man sich mit dem Cursor in erste Zeile und drückt "y" (1 x y) und dann die Zahl der Zeilen, die man kopieren möchte. Beispiel: y7 für 7 Zeilen.
Danach bewegt man sich mit dem Cursor zum Zielort und drückt dann "p".
String finden
Für den Fall, dass man in einer unübersichtlichen Datei nach einem String suchen muss, so drückt man einfach / gefolgt vom Suchstring und dann Enter. Beispiel: /Muttis Kuchen
Weitere Suchergebnisse kann man sich dann mit drücken von "n" (wie next) anzeigen lassen. "p" verhilft zur Rückwärtssuche.
Falls CaseSensitive eher hinderlich ist, so lässt es sich mit einem :set ignorecase
abschalten.
Undo
Ein Undo erreicht man, wenn man den Editmode verlässt (Esc) und ein oder mehrmals "u" drückt.
Wortekomplettierung
Mit STRG+n bzw STRG+p lässt sich im Insertmode die Wortliste anzeigen woraus sich das gewünschte Wort auswählen lässt.
Zeilennummern anzeigen
Ein einfaches :set number
im Kommandomodus verhilft zu den Zeilennummern.
Dateien und Verzeichnisse anzeigen lassen
Möglichkeit 1 ist, sich mit :e [Pfad] das gewünschte Verzeichnis samt Dateien anzeigen zu lassen. Möglichkeit 2 ist im Kommandomodus ein :!ls
vimtutor
Das ist ein Tutorial, um mit vim die wichtigsten und nützlichsten Befehle hinzubekommen. Es ist nicht falsch sich damit ein bisschen zu beschäftigen. Die deutsche Übersetzung ist "vimtutor de".