# 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. vi en ex zijn gewoonlijk hetzelfde programma. Het programma wordt afhankelijk van de naam gestart, waarmee het in de vi-modus of de ex-modus wordt aangeroepen. Binnen deze modi kan na starten nog heen en weer worden geschakeld. In de ex-modus schakelt het commando vi om naar visuele modus.

## Geschiedenis

vi was ooit de standaardeditor voor Unix, vanwege het voordeel ten opzichte van ex dat direct zichtbaar is wat je hebt bewerkt. Het werd omstreeks 1980 het meeste gebruikt, in de tijd dat de beeldschermen nog uit matrices van karakters bestonden. De bediening van computers met behulp van ponskaarten was overigens niet meer nodig, omdat computerterminals werden ingevoerd, documenten werden nog vooral met regeldrukkers geprint, de beeldschermen waren nog beeldbuizen en de muis werd nog niet gebruikt.
Er is na de opkomst van Emacs tussen gebruikers over getwist welke editor het beste was. De vi-gebruikers, meestal C-programmeurs op Unix-systemen, bijvoorbeeld uit Berkeley, boogden vooral op de snelheid en de overzichtelijkheid 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. De opkomst van de personal computer heeft er ook toe bijgedragen dat vi veel minder werd gebruikt. Er 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 macOS. 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.

## Modi

Een kenmerk van de vi-editor is dat deze verschillende modi kent. Dit zijn andere dan de genoemde vi/ex-modi. Dezelfde toets kan iets anders doen afhankelijk van de modus waarin het programma staat. 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 naar opdrachtmodus over, hierin komen de toetsen nu met opdrachten overeen. 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. Terug naar de invoegmodus kan met het commando i.
Deze verschillen komen nieuwe gebruikers soms verwarrend voor, aangezien zij meestal direct beginnen te typen in de veronderstelling dat hun tekst wordt ingevoegd. Gevorderde gebruikers zien hier juist de kracht van de editor in, door de verschillende modi hoeven toetsen niet te worden gecombineerd met bijvoorbeeld alt of control, wat het typen gemakkelijker maakt. Veel commando's kunnen door een getal worden voorafgegaan, wat het mogelijk maakt met bijvoorbeeld 3dw, voor delete word, drie woorden te wissen, of met qq$jd een macro op te nemen om iedere laatste karakter te verwijderen.

## Websites

* VI(1), 2013. handleiding, gearchiveerd
* "The Vi Lovers Home Page ... this makes a great starting point.", 2011.