vim 5.1 - auf vielen Plattformen zu Hause Erweiterter Standard Garry Glendown Einige Jahre Entwicklung hat der vim hinter sich. Dabei wurde aus dem vi-Imitator der 'verbesserte vi'. Die aktuelle Version 5.1 bietet Funktionen, die die Augen von vi(m)Enthusiasten leuchten lassen dürften und 'Zweiflern' den Umstieg schmackhaft machen. Eine Starke freier Unix-Tools gegenuber kommerzieller Software ist die Verfügbarkeit. Während Anwendungen wie MS-Word oder Corel Draw nur schwer die Grenzen eines oder zweier Betriebssysteme uberschreiten, existieren Programme wie vim (Vi IMproved) auf vielen Plattformen - meist ohne Unterschiede im Funktionsumfang. Anwender können derzeit außer unter 16 Unix- Derivaten auf Amiga, Mac, Archimedes, Atari MiNT, BeOS, MSDOS, OS/2, QNX sowie Windows (3.1/95/NT) mit vim arbeiten. www.vim.org gibt Hinweise, für welche Systeme Binärversionen existieren und auf welchen Handarbeit angesagt ist. vim ist Charityware, das heißt, der Autor bittet um Unterstützung für Waisenkinder in Uganda. Entgegen der landläufigen Meinung hat vim das Reich der reinen Console/ASCII-Anwendung schon lange verlassen. Sowohl unter Unix als auch unter anderen Betriebssystemen stehen grafi- sche Versionen zur Verfügung. Im Fall von Windows 95/NT4 ist dies unerläßlich, da die Console- Unterstützung von Microsoft mehr als dürftig ist. Komfortable Neuerungen Viele Programmierer und PowerUser des vim haben es schon lange vermißt: das Syntax- Highlighting (siehe Aufmacher), das im PC-Bereich gang und gäbe ist. Während Anwendungen wie Visual C++ oder Delphi die Syntax-erkennung meist auf die eigene Sprache beschränken, zeigt sich vim weitaus flexibler. Derzeit existieren Definitionen für gut 50 unterschiedliche Dateiformate wie C, Pascal, Shell Scripte oder TeX, die die Arbeit am Bildschirm erleichtern. Eine Erweiterung um eigene Sprachelemente oder neue Formate läßt sich dabei jederzeit vornehmen. vim unterstützt dies durch viele Funktionen, mit denen sich beispielsweise auch Fehler bei der Klammersetzung visualisieren lassen. Die zweite große Neuerung betrifft eine eigene Script-Sprache. Diese ermöglicht dem Anwender, vim mit neuen Funktionen zu versehen, die normalerweise nur eingeschränkt über den Map-Befehl erreichbar gewesen wären. Dabei sind die Funktionselemente recht einfach und wenig komplex; es stehen jedoch viele Dutzend interne Befehle zur Steuerung, Abfrage und Modifikation zur Verfügung, so daß sich damit auch umfangreiche Funktionen definieren lassen. Aurocommand erlaubt bei bestimmten Operationen (zum Beispiel dem Laden von Dateien oder dem Beenden des vim) das automatische Ausführen von Befehlen oder Scripten. Diese Funktion benutzt der vim beispielsweise für das Einlesen der Definitionen für das Syntax-Highlighting beim Laden einer Datei. Script-Befehle können hierbei Features wie das Sichern einer Datei einmal pro Tag oder pro Stunde realisieren, Wem die Möglichkeiten von vim selbst nicht ausreichen, der kann über die ebenfalls mögliche Einbindung von Perl- und Python-Programmen leistungsfähige Routinen erstellen. Dabei stellt vim Funktionen zur Veränderung und Bearbeitung der eingelesenen Texte zur Verfügung. Zwar nicht neu, aber trotzdem erwähnensweit ist die KommandozeilenHistorie mit Editiermöglichkeit. Diese wirkt sich in Editier-/Kompilier-Änderungszyklen bei der Entwicklung von Programmen sehr arbeitssparend aus. Ebenfalls für Programmierer nicht wegzudenken ist die Option, eine Datei in mehreren Senstern innerhalb des vim (siehe Aufmacher) anzuzeigen oder mehrere Dateien gleichzeitig zu betrachten. Dabei läßt sich die Größe der einzelnen Fenster variieren,. beispielsweise um wichtigere Dateien mit mehr Zeilen anzuzeigen. 'Lebenswichtig' für Benutzer, die kryptische Dinge wie 5yy oder d10G gar nicht erst verstehen wollen (geschweige denn eingeben müssen), sind die visuellen Blöcke, die vim den Anwender anlegen läßt. Hier kann man zeichen-, zeilen- oder blockweise Text markieren und darauf dann beliebige Operationen wie Kopieren oder Löschen anwenden. Besonders hilfreich ist das Markieren senkrechter Blöcke, beispielsweise um Tabellenspalten zu bearbeiten - selbst bei hochpreisigen Editoren keine Selbstverständlichkeit. Eine Besprechung der vielen Kleinigkeiten, die aus einem einfachen Texteditor (sofern man vi jemals als solchen bezeichnen konnte) ein leistungsfähiges Entwicklungswerkzeug gemacht haben, muß aus Platzgründen entfallen. Allein die Flut von Einstellungen (Version 5.1 bietet über 170 Konfigurationsoptionen) deutet an, welche Möglichkeiten in diesem Editor stecken. Interessenten sei empfohlen, sich die circa 1 MByte Texte, die als Dokumentation dem Programm beiliegen, schrittweise vorzunehmen und im Praxiseinsatz eine Funktion nach der anderen auszuprobieren. Schon bei Nutzung eines Bruchteils der vim-Funktionen wird der Benutzer recht schnell die Vorzüge dieses Editors kennen- und schätzenlernen. (avr) GARRY GLENDOWN ist für den Kundensupport sowie die Technik hei der Firma regio[.NET] zuständig. IX Magazin 9/1998, seite 67