One Vim to rule them all

Der Text hier gehört vermutlich in die Kategorie „Texte, die kaum einen interessieren, da die Userbasis des Themas um ein Vielfaches größer ist, als die Leserschaft“, aber ich schreibe ihn trotzdem.

Vor einigen Jahren kam ich in Berührung mit Cygwin. Dabei handelt es sich um ein Programm, mit dessen Hilfe eine Reihe von äußerst hilfreichen Linux-Programmen auch auf einem Windows-Rechner verwendet werden können. Mit dabei war ein Texteditor für ein Kommandozeileninterface, den ich damals unter den zur Verfügung stehenden Editoren nur als das kleinere Übel benutzte. Die letzten Wochen hat sich das geändert. Und Vim, wie sich der Editor nennt, ist mein neuer Lieblingseditor.

Bei Vim handelt es sich um einen modalen Editor. Vereinfacht heißt das, dass man vor dem Tippen von Text erst eine bestimmte Taste drücken muss, bevor sich auf dem Bildschirm überhaupt etwas tut. Bis dahin bewirken alle Tasten etwas anderes. Eben das war damals der Grund, warum ich mich mit Vim etwas schwer tat. Und eben das ist der Grund, warum ich Vim jetzt für so toll halte.

Im „etwas anderes“-Modus – oder Kommando-Modus – ist die Tastatur vollgepflastert mit Bewegungstasten. Einfach nur die Zeichen rechts, links oder die Zeile oben und unten ansteuern ist nämlich langweilig. Vim liefert die Bewegung jeweils zum nächsten und vorherigen Wortanfang, Wortende, Satzanfang, Absatzanfang, beliebigem Zeichen, gleichem Wort oder Suchbegriff – auch als regulärem Ausdruck. Und das alles, mit nur ein, zwei Tasten und ohne auch nur einmal die Maus in die Hand zu nehmen. Das beschleunigt zwar die Navigation im Dokument sehr, aber der Clou ist folgender: Tasten wie „Löschen“ oder „Kopieren“ verlangen nach ihrer Betätigung eine Bewegungsrichtung. Die Aktion wird dann bis zum Ziel ausgeführt, zu der man sich hinbewegt. Hin und wieder kommt es etwa vor, dass man während des Schreibens eines Satzes feststellt, dass dieser Müll ist. „Löschen… bis letzten Satzanfang“. Fertig. Inhalt zwischen zwei Klammern, Anführungszeichen oder HTML-Tags ersetzen? Drei Tasten. Zeile duplizieren? Dito. Man mag es kaum glauben, aber ich verwerfe häufig einzelne Textpassagen. Und mit dem richtigen Editor kann ich sie jetzt viel schneller entsorgen.

Suchmuster-Hervorhebung ist ebenso dabei wie Syntax-Hervorhebung. Rechtschreibprüfung sowieso. Mehrere Register („Zwischenablagen“), Makro-Aufzeichnung, Wortvervollständigung – sowohl aus dem Dokument als auch aus dem Wörterbuch. Unendliches Undo und Autokorrektur. Ganz allgemein ist der Funktionsumfang bereits ab Werk größer, als ich das von jedem anderen Editor kenne. Und die gigantische Community führt dazu, dass weitere sinnvolle Features über Plugins ergänzt wurden bzw. werden. Das einzige, was ich jetzt an Vim auszusetzen habe, ist, dass die Syntax für reguläre Ausdrücke etwas von dem aus Perl bekannten Quasi-Standard unterscheidet. Aber damit kann ich leben. Besonders, da es ein Kommando gibt, mit welchem man den Text zu Perl und wieder zurück schicken kann.

Nur um das erwähnt zu haben: Ich habe auch von Sublime Text sehr viel Positives gehört – vor allem, dass es eine flachere Lernkurve besitzt als Vim. Aber das hörte ich erst, nachdem ich mich mit Vim bereits eingearbeitet hatte. Insofern kann ich in der Sache nichts Relevantes sagen. Und dann soll es noch sowas wie Emacs geben, was ich noch nie gestartet habe, aber von dem ich hörte, manche bevorzugten das.