Wat is vi? Tekst bewerken in de terminal

Auteur: Gepubliceerd

Kort samengevat: vi is een teksteditor die in de terminal werkt en vooral op Unix- en Linux-systemen wordt gebruikt. Je bedient hem met toetsenbordcommando’s; wat de toetsen doen, hangt af van de gekozen modus. Druk op i om te beginnen met typen. Om het bestand op te slaan en af te sluiten, druk je op Esc, typ je :wq en bevestig je met Enter. Wil je afsluiten zonder de wijzigingen op te slaan, druk dan op Esc, gevolgd door :q! en Enter.

Waarvoor gebruik je vi?

vi dient om gewone tekstbestanden te bewerken: configuratiebestanden van programma’s, scripts, broncode of notities. Het is geen tekstverwerker zoals Word: je stelt er geen lettertypen of pagina-indeling mee in en voegt er geen afbeeldingen mee in. Je bewerkt de inhoud van het bestand, zonder extra documentopmaak.

Dat is vooral handig wanneer je via SSH op een server werkt: een versleutelde verbinding met een andere computer. Als je alleen toegang hebt tot de terminal, kun je een bestand aanpassen zonder een grafische desktop te starten of het bestand naar je eigen computer te downloaden.

De editor vi of een compatibele vervanger is beschikbaar in veel Unix-omgevingen. Ga er echter niet van uit dat elke installatie er een heeft: een minimale systeem- of containerimage bevat mogelijk helemaal geen editor.

Waarom heeft vi verschillende modi?

In een gebruikelijke editor wordt een letter meteen aan de tekst toegevoegd zodra je die intoetst. In vi bevind je je na het openen van een bestand meestal in de normale modus, ook wel de commandomodus genoemd. Letters dienen dan om door het bestand te navigeren, tekst te verwijderen of andere bewerkingen uit te voeren.

Om te beginnen hoef je slechts drie manieren van bediening te onderscheiden:

Dit onderscheid verklaart waarom beginners vaak verrast worden: ze drukken op letters, maar in plaats van tekst te typen verplaatsen ze de cursor of veranderen ze bestaande tekst. Weet je niet in welke modus je zit, druk dan op Esc. Kies pas daarna je volgende handeling.

Stap voor stap je eerste bestand bewerken

Het veiligst is om te oefenen met een nieuw bestand, niet met de configuratie van een actieve dienst. Voer in de terminal het volgende uit:

vi notitie.txt

Als het bestand bestaat, opent de editor de inhoud ervan. Bestaat het nog niet, dan maakt de editor een nieuw document in het geheugen klaar. Het bestand wordt pas op de schijf aangemaakt zodra het opslaan is gelukt.

  1. Druk op i om naar de invoegmodus te gaan.
  2. Typ een zin, bijvoorbeeld Dit is mijn eerste notitie.
  3. Druk op Esc om te stoppen met tekst invoeren.
  4. Typ :wq en druk op Enter.

Nadat je het bestand hebt opgeslagen en de editor hebt gesloten, keer je terug naar de shell: het programma dat commando’s in de terminal aanneemt. Je kunt opnieuw vi notitie.txt uitvoeren om de inhoud te controleren.

Wil je je werk opslaan maar verder blijven bewerken, gebruik dan :w. Alleen :q sluit de editor af, mits er geen niet-opgeslagen wijzigingen zijn waarover je nog moet beslissen. Het commando :q! verwerpt niet-opgeslagen wijzigingen; het verwijdert het bestaande bestand niet van de schijf.

Basiscommando’s die het werken makkelijker maken

Voer de onderstaande commando’s uit in de normale modus. Met een dubbele punt of schuine streep begin je een commando te typen dat je met Enter bevestigt. De overige toetscommando’s werken zonder die bevestiging.

CommandoWerking
h, j, k, lVerplaatsing naar respectievelijk links, omlaag, omhoog en rechts
0Naar het begin van de regel gaan
$Naar het einde van de regel gaan
xHet teken onder de cursor verwijderen
ddDe huidige regel verwijderen
uDe laatste wijziging ongedaan maken
/gezochte tekstTekst zoeken in de richting van het einde van het bestand
nDe zoekopdracht in dezelfde richting herhalen
:25Naar regel 25 gaan

Om bijvoorbeeld de instelling timeout te vinden, druk je op Esc, typ je /timeout en bevestig je met Enter. Met n ga je naar de volgende vindplaats. Dat is handiger dan een lang configuratiebestand handmatig doorzoeken.

Zijn vi en Vim hetzelfde programma?

Nee. Vim, waarvan de naam staat voor Vi IMproved, is een afzonderlijke editor die voortbouwt op de bediening van vi. Hij biedt extra mogelijkheden, zoals uitgebreide syntaxiskleuring, plug-ins en het ongedaan maken van meerdere wijzigingen.

Op sommige systemen start het commando vi juist Vim of een andere compatibele editor. Daardoor kunnen de schermweergave en beschikbare uitbreidingen verschillen. De beschreven basiscommando’s behoren tot de gemeenschappelijke manier van werken, maar niet elke handleiding voor Vim is volledig toepasbaar op de klassieke vi.

Maak een kopie voordat je een belangrijk configuratiebestand bewerkt. Als het opslaan mislukt vanwege onvoldoende rechten, geeft alleen het toevoegen van ! je geen rechten op het bestand. Begin met oefenen op je eigen notitie. Controleer na een configuratiewijziging het bestand met het validatiehulpmiddel van de betreffende dienst, als die zo’n hulpmiddel biedt.

Zie ook: Wat is GitLab?

Lees ook

Lees hoe PHP-FPM PHP-verzoeken verwerkt, verschilt van een webserver en hoe je processen afstemt op verkeer en hostingcapaciteit.
Ontdek hoe BIND als open DNS-serversoftware domeinen beheert, welke rollen het vervult en wanneer zelf beheren zinvol is.
Lees wat het Poolse REGON-register en -nummer betekenen, hoe ze verschillen van NIP en KRS en hoe je bedrijfsgegevens controleert.