Was ist Vim?

Vim ist ein Open-Source-Editor für alle Arten von ASCII-Texten (Source-Code, TeX/LaTeX-Dokumente, HTML, …). Vim ist ein Clone des unter Unix weit verbreiteten Editors vi (Vim steht für Vi iMproved), wobei die Kopie deutlich besser ist als das Original.

Vim gibt es auf nahezu allen Plattformen (Linux/Unix, Windows, Amiga, Macintosh, BeOS, OS/2…), sowohl als Konsolenversion als auch mit grafischer Oberfläche.

Vim ist ein äußerst leistungsfähiger Editor, der sich auf das Wesentliche beschränkt, nämlich das Editieren von Text. Für Aufgaben, die darüber hinausgehen, bietet Vim eine Schnittstelle zu externen Programmen, wie z.B. grep, make, cvs, ctags…, die ihre speziellen Aufgaben wesentlich besser beherrschen, als es eine entsprechende in einen Editor direkt implementierte Funktion in der Regel bewerkstelligen kann.
Diese klare Trennung der Aufgaben macht den Editor klein und kompakt, schnell, leistungsfähig, flexibel und weniger fehleranfällig. Ein krasses Gegenbeispiel hierzu stellt Emacs dar, der inzwischen als Betriebssystem mit Editierfunktion verschrieen ist.
Vim folgt hier dem Unix-Prinzip: viele kleine spezialisierte Programme, die wohlgetestet und erprobt sind, ergeben bei entsprechender Zusammenstellung und Kommunikation untereinander ein flexibles und leistungsfähiges Gesamtsystem.

Vim ist ein modaler Editor, d.h., es wird zwischen Text- und Kommandoeingabe unterschieden. Das Gegenstück wären modeless Editoren wie beispielsweise Notepad oder der Editor von Visual-Studio unter Windows. Dort gibt es keine Trennung von Text- und Kommandoeingabe.

Will man z.B. in Vim während der Texteingabe ein bestimmtes Wort suchen, muss vom Texteingabemodus in den Kommandomodus gewechselt werden und mittels Search-Kommando nach dem Wort gesucht werden. Soll dann erneut Text eingegeben werden, muss erst wieder vom Kommandomodus in den Textmodus gewechselt werden.
Hat man bisher nur mit modeless Editoren wie dem Notepad unter Windows gearbeitet, ist die Umgewöhnung auf einen modalen Editor wie Vim zeitaufwendig und eine nicht zu unterschätzende Hürde. Der Aufwand lohnt sich jedoch meiner Meinung nach.
Der große Vorteil gegenüber modeless Editoren: Sobald man die wichtigsten Kommandos auswendig kann und man das Bedienkonzept verinnerlicht hat, geht die Textbearbeitung in der Regel deutlich schneller.

Vim kennt grob geschätzt rund 700 Kommandos. Von dieser Zahl sollte man sich keinesfalls abschrecken lassen. Selbst absolute Vim-Profis verwenden nicht mal ansatzweise alle Kommandos. Mit einem Satz von ca. 20 bis 30 Kommandos ist man in der Regel bereits gut bestückt. Welche Kommandos das sind, hängt vom Einsatzbereich des Editors ab (programmieren, emails schreiben, usw.) und von den persönlichen Editiergewohnheiten. Eine allgemeingültige Liste „wenn ich diese Kommandos lerne, arbeite ich am effektivsten“ gibt es daher leider nicht.