vi (Unix)

De teksteditor vi (uitgesproken als Engelse letters: /viˈaɪ/) werd in 1976 geschreven door Bill Joy voor een vroege BSD-editie. De naam duidt aan dat het een visuele editor is, dit in tegenstelling tot de daarvoor gebruikte editor ex waarbij het niet mogelijk is om met de cursor door het te bewerken bestand te navigeren.

Openingsscherm van de vi-variant nvi

Gewoonlijk zijn vi en ex hetzelfde programma, maar start dit programma afhankelijk van de naam waarmee het aangeroepen wordt op in de vi-modus of de ex-modus. Binnen deze modi kan na starten ook nog heen en weer geschakeld worden. In de ex-modus schakelt het commando vi om naar visuele modus.

Modi

Een karakteristiek kenmerk van de vi-editor is dat deze verschillende modi kent. Dit zijn andere dan de bovengenoemde vi/ex-modi. Dezelfde toets kan iets anders doen afhankelijk van de modus waarin het programma verkeert. De twee belangrijkste modi zijn de invoegmodus en de opdrachtmodus. In de invoegmodus is het mogelijk om tekst in het document in te voeren: alles wat je typt wordt op de plaats van de cursor aan het document toegevoegd. Door op escape te drukken schakelt de editor echter over naar opdrachtmodus, hierin corresponderen de toetsen nu met opdrachten. Door in de commandomodus op 'j' te drukken, wordt de cursor één regel lager neergezet, in de invoegmodus zal er gewoon een j in het document neergezet worden. Een k brengt de cursor weer een regel omhoog, en zo zijn er tal van mogelijkheden. Om weer terug te gaan naar de invoegmodus kan het commando i gegeven worden.

Deze verschillende gedragingen komen nieuwe gebruikers doorgaans uiterst verwarrend voor, aangezien zij meestal direct beginnen te typen in de veronderstelling dat hun tekst ingevoegd zal worden. Gevorderde gebruikers zien hier juist de kracht van de editor in, door de verschillende modi hoeven toetsen niet gecombineerd te worden met bijvoorbeeld alt of control, wat het typen gemakkelijker maakt. Ook kunnen veel commando's worden voorafgegaan door een getal wat het mogelijk maakt met 3dw (3 delete word) drie woorden te wissen, of met qq$jd een macro opnemen om iedere laatste karakter te verwijderen.

Geschiedenis

Ooit was vi de standaardeditor voor Unix-systemen, vanwege het voordeel ten opzichte van ex dat direct zichtbaar is wat je hebt bewerkt. Na de opkomst van emacs zijn er grote disputen en gevechten geweest tussen gebruikers over welke editor het beste was. De vi-gebruikers (meestal C-programmeurs op Unix-systemen, bijvoorbeeld uit Berkeley) boogden vooral op de snelheid en de rankheid van de editor en vonden Emacs groot en traag, terwijl de Emacsgebruikers (meestal Lisp-programmeurs van MIT of Stanford) de wenkbrauwen fronsten over de verschillende modi van vi en voornamelijk trots waren op de enorme functionaliteit van Emacs (die zich niet tot het bewerken van tekst beperkte).

Vandaag de dag

Heden ten dage wordt bij de meeste Unix- en Linux-systemen nog steeds een versie van vi meegeleverd. Ondertussen zijn er vele varianten ontstaan waarvan waarschijnlijk nvi en vim de bekendsten zijn. Nvi wordt meegeleverd met de huidige BSD-versies en vim is de standaard-vi-variant van Mac OS X. Voor Microsoft Windows zijn wel vi-varianten beschikbaar (zoals Vim), maar daar vormt het geen deel van de standaarduitrusting van het systeem.

Op hersteldiskettes wordt vaak een versie van vi gezet, hoewel het hier dan vaak een verkleinde versie betreft vanwege de ruimterestricties die er voor zulke systemen zijn.

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.