Het is haast niet uit te leggen hoe belangrijk de editor vim is. Het is de liefdesbaby van een Zwitsers zakmes en een F1-auto (en Bram Moolenaar). Het al 25 jaar een van de belangrijkste stukken gereedschap die ik heb in mijn werk en ik gebruik het dagelijks.
VI(M) is levende geschiedenis. Een applicatie uit een ander tijdperk die vandaag de dag onmogelijk succesvol zou kunnen worden omdat de interface zo totaal anders is dan wat tegenwoordig gewend zijn. De interface komt uit de tijd dat het nieuw was dat je een beeldscherm had waarop je de tekst die je aan het schrijven was kon zien. De naam 'vi' staat ook voor "visual editor" en is gebaseerd op een nog oudere editor ('ed'). Andere afstammelingen van ed zijn 'sed' (de 'stream editor') en de oude editor van MS-DOS ('edlin'). Tegenwoordig zouden we het een 'grafische wrapper om ed' noemen, of zo iets.
Die nog oudere editor is min of meer gelijk aan de 'edit'-mode van vi. De innovatie van vi was dat je ook een 'visual' mode had waarin je hele tekst zichtbaar was op je scherm en je met de cursor heen en weer kon bewegen en editen op de plek van de cursor. Daarvoor deed je dat met commando's ("vervang in de eerste regel het woord 'groen' door 'rood'"). Het klinkt tegenwoordig belachelijk triviaal maar ooit was het nieuw.
In vi zijn de oude en "nieuwe" manier van werken altijd naast elkaar blijven werken en je moet bewust wisselen van de een naar de andere mode. Een typische beginnersfout is dan ook in de verkeerde mode zitten. Een bekende 'grap' is een leek vragen om vi af te sluiten. Als je niet weet hoe kom je daar niet uit zonder drastische maatregelen als je computer afsluiten. (Het antwoord is: 'Escape : q' ). Als het afsluiten van de applicatie al zo moeilijk is kun je je vast voorstellen dat de rest ook "bijzonder" is. Ik kan haast niet uitleggen hoe antiek vi is, het is echt een levend fossiel. Maar net als de haai staat het echter nog steeds aan de top van de voedselketen. Geen enkel andere wezen heeft de dodelijke efficientie van de haai weten te overtreffen, veranderingen kosten al snel meer dan ze opleveren. A lean and mean killing machine.
De grote verdienste van Bram Moolenaar is dat hij deze levende dinosaurus steeds verder geoptimaliseerd en gemoderniseerd heeft zonder iets van de oorspronkelijke kracht op te geven. Computers zijn enorm veranderd sinds het onstaan van vi (toen een monitor nog speciaal was) maar vim heeft zich steeds weten aan te passen (van unicode tot 4k schermen) zonder een museum te worden. Het is nog steeds echt gereedschap dat helemaal gericht is op functionaliteit.
Gek genoeg heeft vi een nieuw leven gekregen op mijn mobiele telefoon. Die heeft veel van de beperkingen van de computers van toen: een klein scherm, een onhandig toetsenbord dat maar 1 toetsaanslag tegelijk kan registereren, geen muis en een haperende netwerkverbinding. Na alles wat ik al geschreven heb zal het niemand verbazen dat er ook een versie van VIM voor Android is.
vi zou nu niet meer geschreven kunnen worden en zeker niet als commerciele software. Moderne software richt zich heel erg op beginnende gebruikers en probeert complexiteit zo veel mogelijk te vermijden en de software zo toegankelijk mogelijk te maken. Het idee is dat iedereen zonder training met ieder stuk software moet kunnen werken. Dat is heel anders dan vi dat compromisloos kiest voor de gevorderde gebruiker. vi is niet te gebruiken zonder de handleiding te bestuderen. Maar als je die investering eenmaal gedaan hebt is het enorm krachtig en verdien je je investering snel terug.
vim is niet de enige versie van vi maar ik denk niet dat die anderen nu nog zouden bestaan als vim er niet was geweest om te laten zien dat je vi kan blijven moderniseren en dat de concepten achter vi nog steeds nuttig en krachtig zijn voor moderne IT'ers. Ik denk dat meer dan 95% van de hedendaagse gebruikers met vi in aanraking is gekomen via vim.
[Reactie gewijzigd door CAPSLOCK2000 op 23 juli 2024 04:45]