Sportlicher Ehrgeiz macht vor Spezialisten in der IT nicht halt. Mit Vimgolf streiten Vim-Nutzer um den effektivsten Einsatz des Editors.
Der Texteditor Vim [1] blickt auf eine lange Geschichte und zahlreiche Ahnen zurück. In den letzten 40 Jahren gehören dazu neben Ed [2] und Ex außerdem Vi sowie diverse Klone wie Stevie, Elvis, Nvi und Vile/Xvile. Das auf Tasten basierende, modale Bedienkonzept aus verschiedenen Modi für Kommandos und Einfügen blieb über diese vier Jahrzehnte nahezu unverändert – nur Modi für die Auswahl und zum Markieren kamen hinzu [3].
Das Verständnis für die verschiedenen Modi und insbesondere das Zuordnen der Aktionen samt Tastenkombination zu einem Modus bedarf etwas Zeit beim Einarbeiten – das fällt nicht jedem Benutzer leicht und prägt sich erst im Laufe der Zeit richtig ein.
Andere Programme integrieren das Bedienkonzept teilweise oder vollständig, so etwa die Bash, der PDF-Betrachter Zathura [4], die Tabellenkalkulation Sc sowie die Firefox-Erweiterungen Pentadactyl [5] und Vimperator [6], die bereits in früheren Ausgaben Thema waren [7].
Der verbesserte Vi – auf englisch Vi Improved und kurz Vim – geht auf den Niederländer Bram Moolenaar [8] zurück, der seine Arbeit im Jahr 1991 der Öffentlichkeit präsentierte. Nachdem er vergeblich versucht hatte, einen Editor auf einem Amiga zu nutzen, machte er sich schließlich selbst ans Werk und entwickelte ein eigenes Programm.
Vim und dessen grafisches Pendant Gvim stehen inzwischen für diverse Plattformen bereit, so etwa für MacOS X, Amiga, OS/2, Android und Microsoft Windows. Auf allen Linux-Varianten sowie vielen Geräten ist entweder Vi oder Vim als grundlegendes Werkzeug zum Bearbeiten von Textdateien installiert (Abbildung 1).

Abbildung 1: Die Variante Gvim stellt neben den grundlegenden Tastenkommandos Menüs bereit, über die Sie, wie hier beim Erstellen des Beitrags, zusätzlich die Befehle absetzen.
Von Vim zu Vimgolf
Was Gvim oder Vim und das dem Editor zugrundeliegende Bedienkonzept auszeichnet, ist der Mix aus Einfachheit und Komplexität. Mit nur wenigen Tastendrücken führen Sie umfangreiche Aktionen durch, wofür Sie bei anderen Programmen Kilometergeld beim Bewegen der Maus abrechnen könnten.
Hinzu kommt, dass es möglich ist, dasselbe Ergebnis auf verschiedenen Wegen zu erreichen, indem Sie schlicht und einfach eine andere Folge von Tasten wählen, die einfacher zu merken ist, oder die sich leichter auf der Tastatur tippt. Ein Bonus beim Einsatz von Vim liegt im Zehnfinger-System – damit agieren Sie noch schneller.
Aus dem Wissen um die kürzeste, effektivste Tastenfolge entstand eine eigene Sportart: Vimgolf. Das Ziel besteht darin, eine Aufgabe mit möglichst wenigen Tastendrücken abzuschließen. Ähnlich wie beim Golfspielen, wo es darum geht, den Ball mit so wenig Schlägen wie möglich ins Loch zu befördern.
Genau wie beim Spiel auf dem Rasen lautet die Devise “Übung macht den Meister”. Ein einfaches Beispiel für den Alltag wäre das Löschen von 5 Worten in einer Zeile – das erreichen Sie mittels [**5**]+[D]+[W] (5 mal ein Wort löschen), als auch mit [D]+[**5**]+[W] (lösche fünf aufeinanderfolgende Worte).
Zur Sportart gibt es eine gleichnamige Webseite [9]. Auf dieser stehen derzeit über 300 Aufgaben, sogenannte Challenges, aus mehr als dreißig Kategorien bereit (Abbildung 2). Das umfasst etwa das erneute Nummerieren von Aufzählungen (Listen), Vertauschen (Umdrehen) von Worten und Zahlenwerten und neuem Arrangieren von Matrizen.

Abbildung 2: Auf der Webseite Vimgolf finden Sie eine ganze Reihe von kniffligen Aufgaben, bei denen es darum geht, diese mit möglichst wenigen Tastendrücken zu lösen.
Sind Sie zudem auf der Webseite angemeldet, absolvieren Sie die jeweilige Aufgabe direkt und landen in der Liste der (erfolgreichen) Teilnehmer. Unter jeder Aufgabe stehen die Lösungen samt der Anzahl der Punkte, die in der Regel mit der Anzahl der Tastendrücke umgekehrt proportional ist – weniger Tastendrücke bedeuten mehr Punkte und einen Eintrag weiter oben in der Rangliste. Die Tabelle “Beispiel” zeigt eine komplexe Aufgabe samt Lösungen zur Erstellung eines Wörterbuchs. Mit wie vielen Tastenanschlägen wären Sie ans Ziel gekommen? Nehmen Sie sich der Herausforderung an (Abbildung 3).

Abbildung 3: Um zum oberen Aufbau der Textdatei zu gelangen, brauchen Sie zwischen 29 und 58 Tastendrücke.
|
Beschreibung |
Tastenkombination |
|---|---|
|
Lösung 1 mit 29 Zeichen |
[Q]+[Q]+[D]+[Umschalt]+[W][W]+[**5**]+[I]+[Leer]+[Esc]+[I]+[-]+[Esc]+[**0**]+[J]+[Q]+[**9**]+[AltGr]+[Q][Q]+[E]+[L]+[<]+[Strg]+[V][G]+[G]+[D]+[<][Umschalt]+[G][Umschalt]+[P][Umschalt]+[Z][Umschalt]+[Z] |
|
Lösung 2 mit 45 Zeichen |
[Q]+[A]+[D]+[**2**]+[W]+[W]+[I]+[-]+[Leer]+[Esc]+[**0**]+[Down]+[Q]+[**9**]+[AltGr]+[Q][A]+[Q]+[A]+[Up]+[W]+[I]+[Tabulator]+[Leer]+[Esc]+[**0**]+[Q]+[**8**]+[AltGr]+[Q][A]+[Umschalt]+[.][S]+[E]+[T]+[Leer]+[E]+[T]+[AltGr]+[<][R]+[E]+[T]+[A]+[B]+[Eingabe]+[Z]+[Z] |
|
Lösung 3 mit 58 Zeichen |
[Q]+[Q]+[D]+[Umschalt]+[W][W]+[**6**]+[I]+[Leer]+[Esc]+[I]+[-]+[Esc]+[J]+[**0**]+[Q]+[**9**]+[AltGr]+[Q][Q]+[E]+[L]+[Strg]+[V][G]+[G]+[D]+[U]+[L]+[L]+[L]+[L]+[L]+[L]+[L]+[L]+[J]+[J]+[L]+[Strg]+[V][G]+[G]+[E]+[E]+[Umschalt]+[**4**][<]+[Umschalt]+[.][W]+[Q]+[Eingabe] |
Erfolg beim Vimgolf
Aller Anfang ist schwer und Vim wirkt auf den ersten Blick undurchsichtig, da sich das Bedienkonzept von anderen Editoren so stark abhebt. Mit ein wenig Mathematik im Kopf beziehungsweise in den Fingern klappt das aber. Viele Entwickler arbeiten seit 20 Jahren mit dem Editor und wissen genau, dass sie nur einen Teil der Funktionalität beherrschen.
Um sich mit dem Programm anzufreunden, absolvieren Sie am besten als Erstes das beiliegende Tutorial mithilfe des Werkzeugs vimtutor – in der Regel ist es im Vim-Paket enthalten. Dieses führt Sie Schritt für Schritt durch die einzelnen Klassen der Tasten (Abbildung 4). Alternativ nutzen Sie das interaktive Online-Tutorial [10]. Beachten Sie, dass dieses auf einer englischen Tastatur basiert (Abbildung 5).

Abbildung 4: Mit dem Vimtutor lernen Sie den Umgang mit dem umfangreichen Editor Schritt für Schritt.

Abbildung 5: Das Vim Online Tutorial ist eine interaktive Webseite, die Ihnen dabei hilft, den Editor zu meistern.
Um das erworbene Wissen im Alltag anzuwenden und zu festigen, hilft Ihnen zum Beispiel Gvim. Es kombiniert eine Menüleiste mit den Tastenkombinationen, zeigt aber parallel dazu die Kommandozeile an (Abbildung 1). Oft zeigt sich in der Praxis, dass Nutzer auf das Menü nur bei den ersten Schritten zurückgreifen und schon nach kurzer Zeit nur noch die Tastenkürzel neben den Menüpunkten eingeben. So macht Lernen Spaß.
Steht Gvim nicht bereit, helfen Schummelblätter oder “Cheat Sheets” wie das “Vim graphical cheat sheet” weiter [11], das es selbst für Tastaturen mit deutschsprachiger Belegung gibt [12]. Beide Exemplare drucken Sie am einfachsten im Format DIN A4 aus und legen sie neben die Tastatur.
Im Allgemeinen gilt: Nehmen Sie sich Zeit zum Lernen. Machen Sie sich mit den grundlegenden Funktionen vertraut, etwa mit den Befehlen zum Bewegen des Cursors, zum Suchen und Ersetzen, Öffnen und Speichern von Dateien sowie zum Manipulieren von Zeichenketten. Obwohl Vim bereits sehr umfangreich ist – wenn Sie Funktionen anderer Editoren vermissen oder Ihren Vim an persönliche Bedürfnisse anpassen möchten, dann erreichen Sie dies in der Regel nach und nach durch die Installation von Plugins.
Fazit
Wenn es Ihnen um das Perfektionieren Ihrer Kenntnisse und Fähigkeiten geht, fordern Sie andere Nutzer zu einem Duell auf dem Vim-Golfplatz heraus. Hier geht es darum, mit so wenigen Tastendrücken wie möglich zum Ziel zu kommen.
Durch das Beobachten und Nachmachen lernen Sie von anderen Nutzern noch hinzu und Ihre Produktivität steigt. Das Thema eignet sich als passende Ergänzung für Hacker-Veranstaltungen und Linux-Konferenzen – auf geht’s und haut rein.
Die Autoren
Frank Hofmann arbeitet von unterwegs aus als Entwickler, Trainer und Autor. Er ist Mitautor des Debian-Paketmanagement-Buchs (http://www.dpmb.org). Mandy Neumeyer arbeitet im Tourismus, lebt seit neun Jahren in Südafrika und baut zur Zeit ein zusätzliches Einkommen als digitaler Nomade auf.
Infos
-
Vim: http://www.vim.org
-
“Ed Is The Standard Text Editor”: http://wiki.c2.com/?EdIsTheStandardTextEditor
-
Einführung in Vim: Frank Hofmann, Thomas Winde, “Einführung in Vi(m)”, LU 10/2011, S. 32, https://www.linux-community.de/24065
-
Zathura: https://pwmt.org/projects/zathura
-
Pentadactyl: https://addons.mozilla.org/en-US/firefox/addon/pentadactyl/
-
Vimperator: https://addons.mozilla.org/en-US/firefox/addon/vimperator/
-
Konsolen-Programme: Frank Hofmann, Julius Plenz, Thomas Winde: “Volle Kontrolle über Programme durch die Tastatur”, LU 12/2011, S. , https://www.linux-community.de/
-
Bram Moolenaar: http://moolenaar.net/
-
Vimgolf: http://vimgolf.com/
-
Vim Online Tutorial: http://www.openvim.com/tutorial.html
-
Serge Y. Stroobandt: Vim Visual Cheat Sheet, http://hamwaves.com/vim.tutorial/en/index.html
-
Suckup.de: Vim – Tastaturbelegung, https://suckup.de/2010/08/vim-tastaturbelegung





