Kaum ein alter Vi-Hase vergisst darauf hinzuweisen, man dürfe sich zur Navigation im Editor keinesfalls der Cursor-Tasten bedienen, denn dies verschwende durch den Fingerwechsel von den regulären Tasten nur unnötig Zeit. Also sei es zur Wahrung der reinen Lehre noch einmal wiederholt, dass die Tasten [h],[j],[k],[l] den Cursor jeweils einen Buchstaben weit nach links, oben, unten und rechts bewegen.
Effektiver sind allemal die vielen Abkürzungen, die Vim bietet, um sich mit mehr als zeichenweiser Schneckengeschwindigkeit durchs File zu bewegen. Denn auch [jkhl] bringen wenig, wenn man sie 20 Mal drücken muss, um ans Ende des Bildschirms zu gelangen. Dafür bietet Vim nämlich den Shortcut [L] (wie Low). In die Mitte springt [M], ganz nach oben H (High). Hierbei scrollt der Dateiinhalt nicht, die Kommandos beziehen sich nur auf den jeweils angezeigten Teil einer Datei.
Mit drei weiteren Befehlen lässt sich der Inhalt an die drei besagten Stellen verschieben. So führt [zt] dazu, dass Vim die Zeile, auf der sich der Cursor gerade befindet, ans obere Ende des Fensters bewegt. [zb] verschiebt sie ans Ende, inkonsequenterweise lautet der Befehl fürs Bewegen zur Mitte aber [zz].
Um sich unabhängig von der Position im Terminal in der Datei zu bewegen bietet, Vim ebenfalls einige nützliche Shortcuts. Ans Ende der Datei gelangt der Anwender zum Beispiel mit [G], an den Anfang mit [1][G], was nur ein Spezialfall davon ist, mit [Zeilennummer][G] an eine beliebige Zeile in der Datei zu springen. Zeilennummern lassen sich übrigens mit ":set nu" einschalten. Mit [Strg]+[f] springt Vim in der Datei bildschirmweise nach vorne, in die andere Richtung geht es mit [Strg]+[b].
Etwas kontextsensitiver bewegt sich der Cursor, wenn man die Klammertasten verwendet. So springt er mit [{] an den Beginn des folgenden Absatzes, mit [}] dagegen ans Ende des vorangegangenen. Analog dazu legt Vim bei den Tasten [(] und [)] die Einheit eines Satzes zu Grunde. Wortweise bewegt [w] den Cursors nach vorne und [b] ihn zurück. Häufig ist es auch nützlich, mit [$] ans Ende und mit [^] an den Anfang einer Zeile zu springen -- diese Zeichen entsprechen den Regular Expressions für Zeilenbeginn und -ende. Beim Programmieren ist es oft praktisch, zur jeweils passenden Klammer eines Klammerpaars zu springen. Das lässt sich mit der Taste [%] bewerkstelligen.
Natürlich gibt es auch noch eine Menge Suchbefehle, die dabei helfen können, durch eine Datei zu navigieren, doch das ist Thema eines künftigen Vim-Tipps.
Sehr gute Zusammenfassung
Mittwoch, 10. Oktober 2012 16:11:47