Vim Motions - Teil 2, die Reise geht weiter

Im ersten Teil habe ich schon einige Basis-Motions heruntergeschrieben und nun habe ich da noch ein paar Motions, mit denen man sich ein wenig in der Datei herumbewegen kann. Und zwar kann mit gedrückter CTRL-/STRG-Taste und den Buchstaben f (einen Bildschirm vorwärts/runter), b (einen Bildschirm rückwärts/hoch), sowie d (einen halben Bildschirm vorwärts/runter) und u (einen halben Bildschirm rückwärts/hoch) bewegen. Wenn man den Cursor in einer Zeile hat, kann man diese Zeile mit zz in die Mitte des Bildschirms bewegen.

BefehlBeschreibung
<C-f>Einen Bildschirm runterscrollen
<C-b>Einen Bildschirm hochscrollen
<C-d>Einen halben Bildschirm runterscrollen
<C-u>Einen halben Bildschirm hochscrollen
zzAktuelle Position des Cursors in der Bildschirmmitte platzieren
ztAktuelle Position des Cursors oben am Bildschirm platzieren
zbAktuelle Position des Cursors unten am Bildschirm platzieren

Dann möchte man sich natürlich noch zu bestimmten Positionen im Dokument bewegen. Mit G geht es zum Ende der Datei und mit gg wieder zurück an den Anfang. Zu einer bestimmten Zeile kommt man entweder im Command-Mode mit :123 oder mit 123G. Beides setzt den Cursor in die Zeile 123. Mit Motions wie { und } bewegt man sich zwischen Absätzen (Leerzeilen) hin und her und dann gibt es noch eine Menge Motions, mit denen man sich zum Start oder Ende einer Funktion, Klasse usw. bewegen kann, die habe ich aber entweder noch nicht so recht verstanden oder ich habe sie bei mir irgendwie kaputt konfiguriert. Da muss ich also nochmal ran.

BefehlBeschreibung
ggAn den Anfang der Datei springen
GAn das Ende der Datei springen
123G oder :123Zur Zeile 123 springen
HCursor zum Anfang des Bildschirms setzen
MCursor in die Mitte des Bildschirms setzen
LCursor an den unteren Rand des Bildschirms setzen
{Zur nächsten Leerzeile oberhalb des Cursors springen
}Zur nächsten Leerzeile unterhalb des Cursors springen

Und die ultimative Weise, sich in einer Datei zu bewegen, ist über eine Suchfunktion. Und die hat es in vim glaube ich in sich. Denn nicht nur kann man mit /suchwort nach suchwort suchen, sondern kann das Ganze auch mit Regex-Patterns füttern (auch etwas, was ich aktuell noch gar nicht verwendet habe, mir reicht die “einfache” Suche). Mit n bewegt man sich dann zum nächsten Treffer bzw. mit N dann in der Treffer-Historie rückwärts in der Datei. Um die hervorgehobenen Treffer dann wieder auszublenden, kann man :nohl (oder bei mir in der Konfiguration reicht auch :noh) ausführen. Und wenn man gar keine Lust hat, ein Suchwort anzugeben, kann mit * einfach nach dem Wort suchen, das sich gerade unter bzw. in der nächsten Nähe des Cursors befindet. Was möchte man mehr?

BefehlBeschreibung
/{pattern}Nach {pattern} vorwärts in der Datei suchen
?{pattern}Nach {pattern} rückwärts in der Datei suchen
*Nach dem Wort unter bzw. in der Nähe des Cursors vorwärts in der Datei suchen
#Nach dem Wort unter bzw. in der Nähe des Cursors rückwärts in der Datei suchen
nZum nächsten Treffer springen
NZum vorhergehenden Treffer springen
:nohl bzw. :nohTreffer-Highlighting ausschalten

Man bekommt übrigens auch die Anzahl der gefundenen Treffer sowie die Nummer des Treffers angezeigt, bei dem man gerade angekommen ist. Und wer sich jetzt wundert, warum es mit * und # eigentlich die gleiche Funktion gibt: ja, die gefundenen Treffer usw. sind hierbei gleich. Der Unterschied ist dann, mit welchen Tasten man sich dann zwischen den Treffern bewegt. n und N haben mit beiden Suchmethoden dann die umgekehrte Richtung. Das gilt auch für die Suche mit / oder ?.

Kommentare

Keine Kommentare

Kommentar schreiben

* Diese Felder sind erforderlich