Vim Basics¶
Für die Nutzung von Vim sollte man sich ein kleines Projekt mit Code besorgen und einfach die Schritte und Nutzungen intensiv üben.
Für die folgenden Basisschritte mit Vim empfiehlt der Primeagen / Vim-Profi eine knappe Woche!
Vorweg für die Kombinationen von Commands hier die Grundstruktur, die Vim nutzt:
AKTION + ANZAHL + BEWEGUNG/RICHTUNG also z.B. d3w - lösche nächste 3 Worte
Fangen wir einfach mal!
Grundsätzliche Bewegungen - Modus: NORMAL
Taste / Tastenkombination |
Aktion |
Anmerkungen |
---|---|---|
h ← |
nach links bewegen |
Zeigefinger |
j ↓ |
nach unten bewegen |
Zeigefinger |
k ↑ |
nach oben bewegen |
Mittelfinger |
l → |
nach rechts bewegen |
Ringfinger |
w |
ein Wort nach rechts bewegen |
w ord |
b |
ein Wort nach links bewegen |
b ackwards |
0 |
Anfang der Zeile |
|
$ |
Ende der Zeile |
RegEx lässt grüßen |
gg |
Anfang des Dokuments |
g o |
G |
Ende des Dokuments |
G o ;-) |
100G |
Gehe zu Zeile 10 |
oder: :100 |
} |
zur nächsten freien Zeile |
Paragraphs |
{ |
zur vorherigen freien Zeile |
|
Strg + u |
Seite hoch |
eigentlich Halbseite |
Strg + d |
Seite runter |
eigentlich Halbseite |
f. |
finde/gehe auf Zeichen . |
f find - landet auf Zeichen |
t. |
finde/gehe zu/vor Zeichen . |
t to - landet vor Zeichen |
F. |
finde/gehe zurück auf Zeichen . |
f find - landet auf Zeichen |
T. |
finde/gehe zurück zu/vor Zeichen . |
t to - landet vor Zeichen |
% |
finde/gehe zur passenden Klammer |
(, ), {, }, [, ] |
Tipp: die t und f Bewegungen lassen sich mit ; vorwärt und , rückwärts beliebig wiederholen!
Weitere Modi:
Wichtig: über ESC kommt man (meist ;-) wieder zu NORMAL zurück.
Taste / Tastenkombination |
Aktion |
Anmerkungen |
---|---|---|
i - insert |
in EINFÜGEN/INSERT wechseln |
ab aktueller Cursorposition |
I - insert POS1 |
in EINFÜGEN/INSERT wechseln |
am Anfang der Zeile |
a - append |
in EINFÜGEN/INSERT wechseln |
nach aktueller Cursorposition |
A - append END |
in EINFÜGEN/INSERT wechseln |
am Ende der Zeile |
o - newline unten |
in EINFÜGEN/INSERT wechseln |
Neue Zeile unterhalb |
O - newline oben |
in EINFÜGEN/INSERT wechseln |
Neue Zeile oberhalb |
v |
in VISUAL wechseln |
ab Cursurposition |
V |
in VISUAL - Zeilen wechseln |
inklusive aktueller Zeile |
Strg + v |
in VISUAL - Spalten wechseln |
Multicursor! |
: - try :smile |
in COMMANDMODE wechseln |
Befehle unterhalb Statuszeile |
/ |
in COMMANDMODE - Suche wechseln |
Suche - Vor/Zurück: n / N |
ESC oder Strg + C |
in NORMAL zurück wechseln |
leicht verzögert |
Anm.: statt ESC könnte man auch noch Strg + [ nutzen, was allerdings auf einer deutschsprachigen Tastatur einige Verrenkungen verlangt!
Tipps zur Suche:
* sucht passendenden Text unter Cursor und geht durch Suchergebnisse vorwärts. Mit # geht man rückwärts. Das Highlighting deaktiviert man im COMMANDMODE mit :nohlsearch.
Multicursor mit VIm Boardmitteln:
Mit Strg + v in Visual-Spalten-Modus gehen und per Bewegung Mulitcursor setzen. Mit I (groß I) in den Insert-Mode und den Text ergänzen. Dann mit ESC den speziellen Visual-Mode verlassen.
Wenn man löschen will, dann einfach nur im Visual-Mode nach Wunsch markieren und dann x.
Copy & Paste OS Clipboard
Das Kopieren und Einfügen in VIm selbst geht super und kennt diverse Abläufe. Beim Kopieren über die Zwischenablage der Linux Distribtution allerdings scheitern wir zuerst. Manche VIm-User installieren sich hierfür Extra-PlugIns - wir wollen das mit Boardmitteln lösen!
Ein wenig Hilfe benötigen aber auch wir: gvim bzw. vim-gtk die Fenstervariante für Desktops sollten wir - falls nötig - nachinstallieren. Wir nutzen natürlich nicht gvim, aber die nebenbei installierten Minitools (Anm.: gesamte Nachinstallation im 1-2 MiB Bereich).
Jetzt können wir das Spezial-Register + nutzen:
Text in VIm markieren
mit " + y markierten Text in Register + yanken
in Grafikanwendung/Programm positionieren und Strg + v
Vim speichern und verlassen
Wichtig: im COMMANDMODE kann man Befehle mit angehängtem ! erzwingen.
Taste / Tastenkombination |
Aktion |
Anmerkungen |
---|---|---|
:w |
Dokument speichern |
w rite the buffer |
:q |
Vim beenden |
q uit, falls alles abgearbeit |
:q! |
Vim beenden erzwingen |
q uit |
ZZ |
speichern und beenden |
aus NORMAL |