vi

Kohteesta Wikipedia
Siirry navigaatioon Siirry hakuun
Vi
vi muokkaamassa väliaikaista tyhjää tiedostoa. Tilde-merkit kuvaavat tiedostossa olemattomia rivejä.
vi muokkaamassa väliaikaista tyhjää tiedostoa. Tilde-merkit kuvaavat tiedostossa olemattomia rivejä.
Luoja Bill Joy
Kehityshistoria
Tiedot
Ohjelmistotyyppi tekstieditori
Alusta alustariippumaton
Lisenssi BSD-lisenssi

vi (englannin kielen sanasta "visual") on Unix-käyttöjärjestelmissä suosittu tekstipohjaisella näyttöpäätteellä käytettäväksi tarkoitettu tekstieditori. Ohjelman ensimmäisen version kehitti Bill Joy vuonna 1976 BSD:lle.[1][2] Joy kehitti aluksi ex-editorin ed:in pohjalta ja vi:n tämän käyttöliittymäksi.[3]

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 jonkin verran 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ä.[4]

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. Harley Hahn's Guide to Unix and Linux unix.harley.com. Viitattu 7.9.2019. (englanniksi)
  2. Peter H. Salus: Chapter 4. A Tale of Two Editors (Osa verkossa julkaistua kirjaa The Daemon, the Gnu and the Penguin) 22.4.2005. Groklaw. Viitattu 11.9.2019. (englanniksi)
  3. vi History linfo.org. Viitattu 9.9.2019. (englanniksi)
  4. The Open Group Base Specifications Issue 6 The Open Group. Viitattu 5. elokuuta 2007. (englanniksi)