Linux vi-commando's: de 3 modi van Vim en de visuele modus

Affiliatemelding v3.1
Affiliatemelding v3.2 (mobiel)
TestomgevingRHEL-familieAlmaLinux 9.8root-accountGecontroleerd op 07-10-2026

vi openen en merken dat er niets verschijnt als je typt, of het venster sluiten omdat je niet weet hoe je eruit komt: bijna iedereen die voor het eerst een server aanraakt, maakt dat een keer mee. Het Linux-commando vi heeft een aparte normale modus en invoegmodus, dus zodra je weet in welke modus je zit, is de rest een paar toetsen. Dit artikel zet de drie modi en de commando's per modus in tabellen, en je kunt vi zelf typen op een virtuele server in je browser.

Op AlmaLinux 9.8 komen vi en vim allebei uit het pakket vim 8.2, en de schermen en meldingen in dit artikel zijn met vim geopend. Is het niet geïnstalleerd, installeer het dan met [dnf -y install vim-enhanced].

Schema van het wisselen tussen de drie vi-modi Linux vi command: three modes diagram

✅ De drie modi van vi

In vi doet dezelfde toets iets anders afhankelijk van de modus. Een bestand opent in de normale modus; met i ga je naar de invoegmodus om te typen, Esc brengt je terug, en een dubbele punt [:] brengt je naar de opdrachtregelmodus om op te slaan en af te sluiten.

ModusToets om erin te komenTaak
Normale modusWaar vi start · Esc vanuit elke andere modusCursor verplaatsen, verwijderen, kopiëren, plakken, ongedaan maken
Invoegmodusi a I A o OTekst typen. [-- INSERT --] onderaan het scherm
Opdrachtregelmodus:Opslaan, afsluiten, vervangen, regelnummers. Onderaan het scherm verschijnt een :
Visuele modusv V Ctrl-vEen bereik selecteren en dan op alle regels verwijderen, kopiëren of invoegen

Er zijn drie manieren om een bestand vanuit de console te openen.

CommandoUitleg
vi bestandsnaamOpent het bestand in de normale modus. Bestaat het niet, dan wordt het aangemaakt en verschijnt [New]
vi +20 bestandsnaamOpent met de cursor op regel 20
view bestandsnaam= vi -ROpent alleen-lezen. Bewerken geeft een waarschuwing [W10], opslaan geeft [E45]

Typ [vi httpd.conf] op de virtuele server hieronder om vi te openen; het menu links schakelt dan over naar commando's binnen vi. Klik op een chip om die toets naar het scherm te sturen, of typ hem op je toetsenbord.

Simulator van vi-commando'svim 8.2
[root@server work]#
Hij draait alleen in je browser en raakt geen echte bestanden. Open eerst een bestand met vi httpd.conf; het menu links schakelt dan over naar commando's binnen vi. Klik op een chip om die toets op het scherm te typen, of typ hem op je toetsenbord. Na opslaan en afsluiten met :wq bekijk je het resultaat met cat; loopt het vast, druk dan op [Start over]. Probeer de overige toetsen uit de tabellen zelf.

✅ Overzicht van Linux vi-commando's

🔲 Cursor verplaatsen

ToetsUitleg
h j k l← ↓ ↑ →Eén teken verplaatsen. Pijltjestoetsen werken ook
0 · ^Begin van de regel (0) · eerste teken dat geen spatie is (^)
$Einde van de regel
w · b · eBegin van het volgende woord · begin van het vorige woord · einde van het volgende woord
gg · GEerste regel · laatste regel van het bestand
20Ggelijk aan :20Naar regel 20. Verander het getal voor een andere regel
H · M · LBovenste · middelste · onderste regel van het scherm
Ctrl-f · Ctrl-bEén scherm omlaag · omhoog
Ctrl-d · Ctrl-uHalf scherm omlaag · omhoog

🔲 Naar de invoegmodus

Met welke toets je er ook in komt, druk op Esc als je klaar bent met typen. cw, cc, C en s verwijderen en zetten je meteen in de invoegmodus, dus een woord of regel verbeteren gaat sneller dan x en i apart indrukken.

ToetsUitleg
i · aTypen vóór (i) · na (a) de cursor
I · ATypen aan het begin (I) · einde (A) van de regel
o · OEen lege regel eronder (o) · erboven (O) openen en typen
cwVan de cursor tot het einde van het woord verwijderen en typen
ccDe hele regel verwijderen en typen
CVan de cursor tot het einde van de regel verwijderen en typen
sEén teken verwijderen en typen
EscStoppen met typen en terug naar de normale modus

🔲 Verwijderen en bewerken

Zet een bewegingstoets achter d en dat bereik wordt verwijderd. dw verwijdert een woord, dd een regel, dG alles tot het einde van het bestand, en een getal ervoor herhaalt het zo vaak.

ToetsUitleg
x · XTeken onder (x) · vóór (X) de cursor verwijderen. 3x verwijdert drie
dwVan de cursor tot het einde van het woord verwijderen
ddRegel verwijderen. 3dd verwijdert drie regels
D= d$Van de cursor tot het einde van de regel verwijderen
d0Van het begin van de regel tot de cursor verwijderen
dGVan de huidige regel tot het einde van het bestand verwijderen
:6d · :6,10dRegel 6 verwijderen · regels 6–10 verwijderen
JDe volgende regel aan het einde van de huidige regel plakken
rHet teken onder de cursor vervangen door de volgende toets die je typt
~Hoofd-/kleine letter wisselen
>> · <<Regel inspringen · uitspringen

🔲 Kopiëren, plakken en ongedaan maken

Verwijderde tekst kun je net als gekopieerde tekst met p plakken, dus dd en dan p verplaatst een regel omlaag. u gaat meerdere wijzigingen terug, en Ctrl-r voert opnieuw uit wat je ongedaan hebt gemaakt.

ToetsUitleg
yyRegel kopiëren. 3yy kopieert drie regels
ywVan de cursor tot het einde van het woord kopiëren
p · PPlakken eronder (p) · erboven (P). Bij kopiëren per teken: na · vóór de cursor
:1 co 7gelijk aan :1 t 7Regel 1 kopiëren onder regel 7
:1,7 co 8Regels 1–7 kopiëren onder regel 8
:1 m 8Regel 1 verplaatsen onder regel 8
uOngedaan maken. Nog eens indrukken om verder terug te gaan
Ctrl-rOpnieuw uitvoeren wat je ongedaan hebt gemaakt
.De laatste wijziging herhalen

🔲 Zoeken en vervangen

Vervangen gebeurt in de opdrachtregelmodus. Zonder bereik geldt het alleen voor de huidige regel, [%] dekt het hele bestand, en zonder g aan het eind verandert alleen de eerste overeenkomst op elke regel.

ToetsUitleg
/tekstOmlaag zoeken vanaf de cursor. Aan het eind gaat het verder bovenaan: [search hit BOTTOM, continuing at TOP]
?tekstOmhoog zoeken vanaf de cursor
n · NVolgende overeenkomst in dezelfde richting (n) · tegengestelde richting (N)
*Omlaag zoeken naar het woord onder de cursor
:s/old/new/Eerste old op de huidige regel naar new
:s/old/new/gElke old op de huidige regel naar new
:%s/old/new/gElke old in het hele bestand naar new
:10,20s/old/new/gElke old op de regels 10–20 naar new
:%s/old/new/gcVóór elke wijziging vragen (y wijzigen · n overslaan · a alles · q stoppen)

🔲 Opslaan, afsluiten en regelnummers

ToetsUitleg
:wOpslaan. Na afloop: [36L, 1094B written]
:w bestandsnaamOnder een andere naam opslaan. Het originele bestand blijft zoals het is
:wq= :⁠x = ZZOpslaan en afsluiten
:qAfsluiten. Zijn er niet-opgeslagen wijzigingen: [E37: No write since last change]
:q!Afsluiten zonder op te slaan
:set nu · :set nonuRegelnummers tonen · verbergen

✅ Een kolom uitcommentariëren met de visuele blokmodus van Vim

Om dezelfde tekst aan het begin van meerdere regels te zetten, gebruik je de visuele blokmodus in plaats van op elke regel i te drukken. In de normale modus selecteert v per teken, Shift-v per regel en Ctrl-v per kolom.

Schema van de drie visuele modi van vim vim visual mode: three kinds diagram

Zo zet je een heel blok van een configuratiebestand in commentaar. Zet de cursor op het eerste teken van de eerste regel, druk op Ctrl-v, ga met j omlaag om de regels te selecteren, druk dan op I, typ # en druk op Esc.

De visuele blokmodus van vim starten
1. Druk op Ctrl-v op het eerste teken van de eerste regel en [-- VISUAL BLOCK --] verschijnt.
Regels selecteren met de cursor in de visuele blokmodus van vim
2. Ga met j omlaag om alle regels te selecteren die commentaar moeten krijgen.
Typen in de blok-invoeg van vim
3. Druk op I en typ #; het verschijnt alleen op de eerste regel.
Kolombewerking voltooid in de visuele blokmodus van vim
4. Druk op Esc en # wordt aan elke geselecteerde regel toegevoegd.

Het commentaar weghalen werkt op dezelfde manier. Zet de cursor op de # van de eerste regel, selecteer omlaag met Ctrl-v, druk op x en de geselecteerde kolom is in één keer weg. Je kunt het zo proberen op vhost.conf in de simulator hierboven.

  • vi- en vim-commando's
  • Commando's voor tekstverwerking
  • Opbouw van de vi-editor: normale modus, invoegmodus en opdrachtregelmodus

ℹ️ Affiliatemelding
De content van deze site bevat affiliatelinks. Koopt een bezoeker via een van deze links een product of dienst, dan ontvangt deze site een commissie van de verkoper. Het bedrag dat de koper betaalt (bij acties gaat het omlaag ↓) wordt daardoor niet hoger. De vermelde prijzen, kortingen en voorraad gelden op het moment van schrijven en kunnen afwijken; controleer ze daarom vóór je aankoop bij de verkoper. Producten worden gekozen en beoordeeld volgens onze eigen criteria, en commissies hebben geen invloed op de volgorde of de inhoud van de beoordelingen.

Geef een reactie

Je e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *

Laat zien dat je geen machine bent: 10   +   9   =