vi

Wikipedia
Loikkaa: valikkoon, hakuun
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:

  1. Käynnistymisen jälkeen olet aina muokkaustilassa, jossa voit muokata tekstiä näppäinkomentoja käyttämällä
  2. Kirjoitustilaan siirrytään aina joillakin näppäinkomennolla: i,I,a,A,o tai O
  3. Muokkaustilaan palataan aina <esc> -näppäimellä.
  4.  : 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[muokkaa | muokkaa wikitekstiä]

  • <esc> : Palaa muokkaustilaan kaikista ti­loista.
  •  :wq : Siirtyy komentotilaan ja suorittaa talletta­misen ja poistu­misen vi:stä.
  •  :q! : Siirtyy komentotilaan ja suorittaa poistumi­sen vaikka olisit tehnyt muutoksia
  • i : Siirtyy lisäystilaan kursorin koh­dalle.
  • a : Siirrytään lisäystilaan kursorin kohdalla olevan merkin perään.
  • I (iso i): Siirtyy lisäystilaan rivin alkuun.
  • A : Siirtyy lisäystilaan rivin loppuun.
  • o : Avataan uusi rivi lisäystilaan ny­kyisen alapuolelle
  • O : Avataan uusi rivi lisäystilaan ny­kyisen yläpuolelle
  • k : Rivi ylöspäin
  • j : Rivi alaspäin
  • l : Merkki oikealle
  • h : Merkki vasem­malle
  • 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).
  • x : Poista merkki kur­sorin alta
  • X : Poista merkki kursorin vasemmalta puolelta.
  • dd : Poista rivi kursorin kohdalta (menee kopiopuskuriin).
  • G : Mene tiedoston loppuun
  •  :1 : Mene riville 1
  • 1G : Mene riville 1
  • yy : Kopioi rivi (yank) kopiopuskuriin.
  • p : Palauta kopiopuskuri tämän ri­vin alapuolelle.
  • P : Palauta kopiopuskuri tämän ri­vin yläpuolelle.
  •  :r tiedosto.txt : Lue tiedosto.txt kur­sorin kohdal­le ja palaa komentoti­laan.
  •  :w apu.txt : Talleta puskuri ni­melle apu.txt
  • /apudapu : Hae merkkijonoa apudapu eteenpäin
  •  ?apudapu : Hae merkkijonoa apudapu taak­sepäin
  • . : Toista edellinen komentotilan ko­mento.
  •  :1,$s/apudapu/hapupapu/gc : Korvaa apudapu sanalla hapupapu joka paikasta (g) ja kysy ennen kor­vausta varmistus (c).
  • ma : Merkataan komentotilassa rivi sisäisesti A riviksi ja kohdistimen paikka A merkiksi.
  • mb : Merkataan komentotilassa rivi sisäisesti B riviksi ja kohdistimen paikka B merkiksi.
  • 'a : Siirry A merkin riville.
  • 'b : Siirry B merkin riville.
  • `a : Siirry A merkin kohdalle.
  • `b : Siirry B merkin kohdalle.
  •  :'a,'by : Kopioidaan rivit A ja B merkkien väliltä, A ja B rivit mukaan ottaen, kopiopuskuriin.
  • ra : Korvaa kursorin alla oleva merkki merkillä a.
  •  :! <komento>: Suorittaa vi:tä ajavassa komentotulkissa komennon.
  •  !! <komento>: Suorittaa vi:tä ajavassa komentotulkissa komennon ja korvaa komennon tulosteella kursorin kohdalla olevan rivin.

Lähteet[muokkaa | muokkaa wikitekstiä]

  1. The Open Group Base Specifications Issue 6 The Open Group. Viitattu 5. elokuuta 2007. (englanniksi)