Vorteile des vim

Der Texteditor vim ist in den Händen eines erfahrenen Anwenders das bei weitem schnellste Tool zur Textbearbeitung. Er startet extrem schnell, auch mit sehr großen Textdateien. Man kann ihn sehr gut nur über die Tastatur bedienen, spart also das zeitraubende Wechseln zwischen Tastatur und Maus. Und er hat enorm mächtige Funktionen. Schon wenn man einige wichtige Kommandos kennt, kann man viele komplexe Textumformungen in Sekundenschnelle erledigen.

Außerdem bringt der vim eine Syntaxhervorhebung für alle gängigen Programmiersprachen (und etliche Exoten) mit. Anders als in den meisten Editoren kann man sogar selbst neue Syntaxhervorhebungen für weitere Programmiersprachen hinzufügen, wenn man z.B. eine eigene entwickelt hat oder eine sehr spezielle Sprache benutzen muss.

Man kann eine ganze Serie von Dateien "in einem Rutsch" bearbeiten, der Editor beherrscht Faltung, man kann damit verschiedene Versionen einer Datei vergleichen und zusammenführen, man kann problemlos Binärdateien bearbeiten (im Textmodus oder als Hexeditor) und vieles mehr.

Bevor es ins Detail geht noch eine Anmerkung. Man kann den vim ähnlich wie StarOffice oder MS Word für ganz normale Texte verwenden, z.B. Briefe oder pagewizz-Artikel. Aber da ist ein Textverarbeitungsprogramm vielleicht doch die bessere Wahl, z.B. wegen Textformatierung, besserer Druckfunktion und Rechtschreibprüfung (kann man im vim allerdings nachrüsten). Der vim ist dagegen dort weit überlegen, wo es um strukturierte Texte geht, z.B. beim Programmieren oder bei Daten, die automatisch weiterverarbeitet werden.

Hintergründe, Download

Der vim ist eine Erweiterung des vi, der schon 1976 für Unix entwickelt wurde. Einen vi findet man auf praktisch jedem Unix- oder Linuxrechner vor, meist auch einen vim. Letzterer kann auch unter Windows leicht installiert werden und er ist kostenlos downloadbar. Man wird beim Start unaufdringlich gebeten, für Weisenkinder zu spenden, ansonsten ist der vim auch völlig werbefrei. Das Tool ist einfach ein gutes Werk des Autors Bram Moolenaar, ein sehr gutes Werk. Ich benutze ihn täglich viele Male und bin jedes Mal beeindruckt, dass jemand ein so außergewöhnliches Programm ohne jeden Gedanken an eigenen Profit bereitstellt.

Der vi ist bei Einsteigern berüchtigt. Wenn man ihn startet, kann man ihn ohne spezielles Wissen nicht einmal beenden! Das ist mit dem vim zum Glück besesr, man kann ihn im Prinzip wie jeden anderen gewohnten Texteditor mit Maus und Tastatur bedienen. Damit kann man seine Vorteile aber nicht annähernd ausnutzen. Es ist nötig, einige Tastaturkürzel zu lernen. Man sollte sich aber nicht zu viel vornehmen. Lieber immer nur wenige Kommandos lernen und damit arbeiten, bis sie in Fleisch und Blut übergehen, dann weitere hinzunehmen. So wird man mit der Zeit zu einem richtigen vim - Zauberer, dem manch unkundiger mit offenem Mund zuschaut, wenn er scheinbar aufwändige Textmanipulationen rasend schnell erledigt.

Grundlagen der Arbeit mit vim

Sehr ungewohnt sind die Modi des Vim. Man muss vor allem zwischen dem normalen Modus und dem Einfügemodus unterscheiden. Der Einfügemodus ist das, was man von anderen Editoren gewohnt ist: man kann ganz normal Text eintippen. Im Vim kann man sich währenddessen auch im Text bewegen, z.B. mit den Pfeiltasten oder per Mausklick.

Anfangs ist man aber im normalen Modus und da hat jede Taste eine ganz besondere Bedeutung – Text eintippen funktioniert da nicht, dafür hat man viele mächtige Kommandos zur Verfügung. Also muss man schon das erste Kommando lernen: die Taste i bringt einen in den Einfügemodus. Mit ESC kann man in den normalen Modus zurückkehren. Wenn man den vim ernsthaft lernen will, sollte man das erstmal üben, bevor man weitere Kommandos lernt.

Die wichtigsten Kommandos des vim

Im normalen Modus sollte man sich als erstes an die folgenden Kommandos gewöhnen:

  • x das Zeichen unter dem Cursor löschen
  • dd die aktuelle Zeile löschen und kopieren
  • Y die aktuelle Zeile kopieren
  • p die letzte kopierte Zeile unter der aktuellen Zeile einfügen (großes P: oberhalb einfügen)
  • :w Text Speichern
  • :wq Speichern und vim beenden (mit:q kann man ohne Speichern beenden)

Unter Windows kann man im vim auch einige gewohnte Tastenkürzel verwenden, insbesondere: im Einfügemodus kann man mit CTRL-V den Inhalt der Zwischenablage einfügen. Und in jedem Modus kann man mit der Maus Text auswählen und diesen mit CTRL-C in die Zwischenablage kopieren.

Wenn man mit den genannten Kommandos zurecht kommt, lohnt es sich noch, ein paar Kürzel für die Cursorbewegungen zu lernen. Im normalen Modus kann man statt der Pfeiltasten die folgenden Tasten verwenden:

  • h nach links
  • j nach unten
  • k nach oben
  • l nach rechts

Wenn man sich daran gewöhnt hat, spart man als Zehn-Finger-Schreiber allen dadurch schon enorm viel Zeit. Denn bei der Textbearbeitung geht überraschend viel Zeit damit verloren, zwischen der normalen Zehn-Finger-Schreibhaltung und den Cursortasten hin- und herzuwechseln.

Fortgeschrittene Kommandos

Wenn man die Grundlagen absolut sicher beherrscht, sollte man sich zur weiteren Zeitersparnis an die folgenden Kommandos gewöhnen:

  • a Einfügen hinter der aktuellen Cursorposition
  • o Eine neue Zeile unter der aktuellen einfügen. Großes O: neue Zeile oberhalb.
  • cw Von der aktuellen Cursorposition bis zum Wortende ersetzen. Das wirkt vielleicht exotisch, aber man braucht es extrem oft.
  • u Letzte Aktion rückgängig machen
  • CTRL-R Redo, d.h. die letzte rückgängig gemachte Aktion wieder herstellen

Auch die folgenden Cursorbewegungen sind sehr nützlich:

  • 0 an den Zeilenanfang springen
  • $ zum Zeilenende springen
  • gg zur ersten Zeile springen
  • G zur letzten Zeile springen
  • w zum nächsten Wort springen
  • /suchmuster nach dem eingegebenen Suchmuster suchen
  • n zum nächsten Vorkommnis des letzten Suchmusters springen
  • N zum letzten Vorkommnis des letzten Suchmusters springen

Speziell beim Programmieren ist die Bewegung mit % Gold wert. Wenn man auf einer Klammer steht, also (, [, {, ), ], }, dann kann man damit zur entsprechenden öffnenden oder schließenden Klammer springen. In Programmcode sind diese oft weit voneinander entfernt (z.B. Beginn und Ende einer Funktion oder Klasse). Mit % kann man sich somit extrem schnell bewegen und zwar genau in den Strukturen, in denen der Programmierer auch denkt.

Automatisierung im vim

Eine Sonderstellung hat das Kommando. (also im normalen Modus die Punkttaste drücken). Damit führt man die letzte Aktion noch einmal an der aktuellen Cursorposition aus. Es kommt z.B. häufig vor, dass man an etlichen Stellen eines Textes immer den gleichen Text eingeben muss. Dann gibt man den Text an der ersten Stelle ein und geht dann zu jeder folgenden Stelle und drückt einfach die Punkt-Taste.

Noch einfacher ist es, wenn man ein Kommando einfach mehrmals hintereinander an der gleichen Stelle ausführen will. Dann gibt man im Einfügemodus die gewünschte Zahl ein, gefolgt von dem Kommando. Z.B. löschen der nächsten 500 Zeilen: 500dd.

Sehr mächtig sind Makros. Man tippt einfach qa, um die Makroaufzeichnung zu starten. Das Makro kann später über @a aufgerufen werden (statt a kann man auch jeden beliebigen Buchstaben nehmen). Sobald die Makroaufzeichnung läuft, führt man die gewünschten Aktionen aus und tippt dann q, um die Aufzeichnung zu beenden. All das ohne einmal die Maus zu berühren!

Man kann die Automatisierung noch weiter treiben, indem man komplexe Funktionen bis hin zu ausgewachsenen Programmen in der vim – eigenen Makrosprache schreibt. Man kann sogar eigene Plugins schreiben. Aber das interessiert vielleicht doch noch ein paar Spezialisten.

Weiterlernen

Die oben vorgestellten Kommandos sind schon eine Menge. Es dauert ein paar Wochen, bis man sie instinktsicher beherrscht. Aber damit kann man im vim schon effizienter arbeiten als in jedem anderen Editor.

Es gibt noch viele weitere nützliche Kommandos, die das Leben erleichtern können. Auch für etliche Spezialfälle ist vorgesorgt. Die umfangreiche eingebaute Hilfe ist nützlich, man ruft sie mit:help auf bzw. mit:help Begriff kann man direkt zur Hilfe für einen Begriff springen. Und natürlich findet man im Internet Tutorials und Hilfestellungen zu fast jeder denkbaren Frage.

Laden ...
Fehler!