vi muokkaamassa väliaikaista tyhjää tiedostoa. Tilde-merkit kuvaavat tiedostossa olemattomia rivejä.
vi (englannin kielen sanasta "visual") on Unix-käyttöjärjestelmissä suosittu tekstipohjaisella näyttöpäätteellä käytettäväksi tarkoitettu tekstieditori, jonka ensimmäisen version kehitti Bill Joy vuonna 1976 varhaista BSD-versiota varten. Nykyisin on käytössä useita vi-toteutuksia, joista yleisimpiä ovat nvi ("new vi") ja vim ("vi improved"). Vi on osaavissa käsissä erittäin tehokas tekstieditori. Vi:n ja Emacsin välillä on käyty nk. Editorisotaa.
vi:n toiminta perustuu rivieditorien ed ja ex tavoin toimintatiloihin joita on kolme: kirjoitustila, muokkaustila ja komentotila. Tilojen välillä siirtyminen tuottaa jonkinverran päänvaivaa aloitteleville vi-käyttäjille. Tilojen hyvä ominaisuus on että vi-käyttäjän ei tarvitse siirtää käsiään koskaan pois kirjoitusnäppäimiltä muokatakseen tekstiä muutoin. Perusketju tekstin syöttämiseen vi -editorilla etenee aina seuraavasti:
Käynnistymisen jälkeen olet aina muokkaustilassa, jossa voit muokata tekstiä näppäinkomentoja käyttämällä
Kirjoitustilaan siirrytään aina joillakin näppäinkomennolla: i,a,o tai O
Muokkaustilaan palataan aina <esc> -näppäimellä.
: näppäimellä käynnistetään ex -tyylinen komentotila, jossa hallitaan tiedostoja ja puskureita kokonaisuuksina
Perus-vi:n etuna on se, että se toimii kaikissa Posix-standardia toteuttavissa järjestelmissä.[1]
Peruskomennot
<esc> : Palaa muokkaustilaan kaikista tiloista.
:wq : Siirtyy komentotilaan ja suorittaa tallettamisen ja poistumisen vi:stä.
:q! : Siirtyy komentotilaan suorittaa poistumisen vaikka olisit tehnyt muutoksia
i : Siirtyy lisäystilaan kursorin kohdalle.
a : Siirrytään lisäystilaan kursorin kohdalla olevan merkin perään.
I (iso i): Siirtyy lisäystilaan rivin alkuu.
A : Sirtyy lisäystilaan rivin loppuun.
o : Avataan uusi rivi lisäystilaan nykyisen alapuolelle
O : Avataan uusi rivi lisäystilaan nykyisen yläpuolelle
k : Rivi ylöspäin
j : Rivi alaspäin
l : Merkki oikealle
h : Merkki vasemmalle
H : Siirtyy näytössä olevan ensimmäisen rivin kohdalle.
M : Siirtyy näytössä olevan keskimmäisen rivin kohdalle.
L : Siirtyy näytössä olevan viimeisen rivin kohdalle.
^y : Vierittää näyttöä ylöspäin (kursori pysyy paikallaan).
^e : Vierittää näyttöä alaspäin (kursori pysyy paikallaan).