Al bij de eerste teksteditor die in deze serie werd bekeken, regende het reacties ‘dat er meer is dan Windows’ en we zeker ook naar Vim moesten kijken. Daarom deze week na Windows-versies van Notepad++, UltraEdit en Geany, nu Vim op Ubuntu (en Windows).

Afgeleid van vi

Vim is geen standaard onderdeel van de Ubuntu-distributie, maar via de Ubuntu appstore (a.k.a Software Center) laat het zich eenvoudig aan een installatie toevoegen. Naar wens kunnen daarbij ook al eerste uitbreidingen voor het programma meegenomen worden, maar eerst alleen Vim installeren is ook mogelijk. Behalve voor Linux/Unix zijn er Vim-versies voor nagenoeg ieder besturingssysteem. Vim wordt ontwikkeld door de in Zwitserland woonachtige Nederlander Bram Moolenaar die het programma als open source beschikbaar stelt. Via een Yahoo-groep worden nieuwe versies aangekondigd. Sponsors kunnen tegen betaling features aanvragen, de financiële middelen gaan naar hulp aan kinderen in Uganda.

Vim staat voor ‘vi improved’ en dat maakt meteen duidelijk dat deze teksteditor zich nadrukkelijk heeft laten inspireren door de Unix-editor vi. Van vi heeft het de scheiding tussen bewerkings- en commandomodus geërfd. Door in de commando-modus de letter i in te drukken wisselt het programma naar de bewerkingsmodus. Er kan dan tekst getypt worden of gewijzigd. Terug naar commandomodus gaat via ESC, en :wq (write quit) slaat het document op en sluit Vim. De aparte commandomodus is erg krachtig en is bovendien nooit verder dan één toetsaanslag weg. Snel door een document hoppen, ESC, w, w, w, en de cursor springt woord voor woord door het document. Een woord wijzigen, even de c aantikken, een woord verwijderen, cw. Een woord kopiëren gaat met y, het vervolgens plakken met p. Ctrl+P vult een woord aan dat al eerder is getypt, het zal ongetwijfeld ook met zinnen of alinea’s kunnen.

Vim kent meerdere klemborden, ondersteunt zoeken en vervangen, blokselectie, gebruik van reguliere expressies. Er is syntax-highlighting waarbij gelijksoortige delen van een scripttaal waarin wordt geschreven, met kleuren gemarkeerd worden wat vooral het begrijpen van de code versnelt. Daarnaast biedt Scintilla syntax-folding, waarbij delen van de tekst verborgen kunnen worden om het overzicht te bewaren tijdens het bewerken van delen van een tekst, en is er autocompletion (C, HTML, Ruby, Python, PHP) waarbij de editor een kenmerkend stuk code zelf aanvult zodra het wordt herkend. Het open karakter van de software maakt ook dat er ruimhartig uitbreidingen beschikbaar zijn die de functionaliteit van het programma nog verder uitbouwen. Behalve deze ‘officiële’ uitbreidingen zijn er op het internet talloze tips, trucs, scripts en plugins voor het programma te vinden. Vim kent voor deze uitbreidingen aparte syntax- en plugin-directories. Met Vimscript heeft het bovendien een eigen scripttaal voor het automatiseren van handelingen. Scripts zijn via de vim.org site te downloaden.

Leercurve

Zo krachtig Vim is, zo steil is ook de leercurve ervan. Kun je in een teksteditor zoals UltraEdit of Notepad++ altijd nog gaan grasduinen in de menu’s en vensters, in de hoop te vinden wat je zoekt, in Vim is dat veel lastiger. Er zijn helpfuncties en manuals, maar erg toegankelijk worden die pas als je de commando’s van Vim goed begrijpt. Met Vim zal de beginnende gebruiker zeker terugkeren naar een situatie met post-its met veelgebruikte commando’s vastgeplakt aan de monitor (en leg dan de security-manager maar eens uit dat die lijst met vreemdsoortige codes niet het domain-admin wachtwoord is).

Vim biedt wel menu’s en werkbalken die met de muis bediend kunnen worden, maar hierin zijn lang niet alle commando’s te vinden die in de commandomodus gebruikt kunnen worden. Toch is het niet gebruiken van de muis maar alles via commandomodus en bewerkingsmodus kunnen afhandelen, nou net de hele grote kracht van dit programma.

Zowel op Ubuntu (32bit) als Windows 7 (64bit) opende Vim het 2GB grote logbestand, waar behalve UltraEdit alle andere zover geteste teksteditors zich op hebben stukgebeten. Onder Windows ziet het programma er minder fraai uit dan onder Linux. De Windows-versie van GVim kent de mogelijkheid om de besturing van het programma aan de standaard Windows-conventies voor bijvoorbeeld cursorbesturing en knippen en plakken aan te passen.

Wie de leercurve va Vim weet te bedwingen, heeft aan het pakket een ongekend krachtige, cross-platform teksteditor en wordt in het gebruik geruggensteund door heel veel enthousiaste medegebruikers. Een antwoord op een probleem is doorgaans snel gevonden.

Vereisten

Vim is geschikt voor Linux, Unix, Windows, Mac OS X, en ook Amiga, OS/2 en zelfs voor (rooted) Android-telefoons en tablets. De Windows-versie is 9MB groot. Het bestand is door VirusTotal op malware gecontroleerd en akkoord bevonden. Lees hier het testrapport. De Unix-versie is eveneens 9MB groot en was nog nooit door VirusTotal gecontroleerd. Nu wel en alleen F-Prot had er problemen mee, die meldde het TAR-bestand als ‘damaged’.