ADMIN-Tipp: Im Vim-Editor navigieren

Jede Woche erscheint in unserem Newsletter ein neuer ADMIN-Tipp. Eine Sammlung aller Tipps finden Sie im Archiv der ADMIN-Tipps.

Zur Navigation in Dateien bietet Vi(m) eine ganze Reihe von Tastaturkommandos, die Cursorbewegungen beschleunigen und Tastendrücke reduzieren.

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.

04.09.2012

Ähnliche Artikel

Comments

Sehr gute Zusammenfassung

Nachdem es hier ja um den vim und nicht um den vi geht, möchte ich zwei, meiner Meinung nach einfachere, Alternativen zu den genannten Kürzeln nennen:

1. Zeile: gg

Zeilenanfang: 0   (Null)

Beides erspart das benutzen der Shifttaste.

comments powered by Disqus
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Ausgabe /2023