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!

Vim As Your Editor (1/6): The Basic Vim Movements (Primeagen)

Vim As Your Editor (1/6): The Basic Vim Movements (Primeagen)

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

Bewegungen

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.

Modi

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.

Vim speichern und verlassen

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