vi

Wikipediasta
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
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ä tai pääte-emulaattorilla käytettäväksi tarkoitetettu tekstieditorin tapaan toimiva visualisointityökalu ex-tekstinmuokkauskielelle. Ohjelman ensimmäisen version kehitti Bill Joy vuonna 1976 BSD:lle.[1][2] Joy kehitti aluksi ex-tekstinmuokkauskielen 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. Myöhemmissä vi-toteutuksissa (esimerkiksi vim) mukaan on lisätty myös tekstialueiden valintaan ja käsittelyyn tarkoitettu valintatila, eli "visuaalinen" tila. 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ä. 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
  5. Valintatilaan, eli visuaaliseen tilaan siirrytään komennolla v, V tai Ctrl+V.

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 paitsi ex-tilasta
  • :wq : Siirtyy komentotilaan ja suorittaa talletta­misen ja poistu­misen vi:stä
  • :q! : Siirtyy komentotilaan ja suorittaa poistumi­sen tallentamalla 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 kaikkialla (g) ja kysy ennen kor­vausta varmistus (c)
  • ma : Merkataan komentotilassa rivi sisäisesti riviksi A ja kohdistimen paikka merkiksi A
  • mb : Merkataan komentotilassa rivi sisäisesti riviksi B ja kohdistimen paikka merkiksi B
  • '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ä, rivit A ja B 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
  • Q : Siirtyy muokkaustilasta ex-tilaan, takaisin muokkaustilaan pääsee komennolla vi

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)