Muokataan sivua Vimin peruskäyttö

Siirry navigaatioon Siirry hakuun
Varoitus: Et ole kirjautunut sisään. IP-osoitteesi näkyy julkisesti kaikille, jos muokkaat. Jos kirjaudut sisään tai luot tunnuksen, muokkauksesi yhdistetään käyttäjänimeesi ja saat paremman käyttökokemuksen.

Kumoaminen voidaan suorittaa. Varmista alla olevasta vertailusta, että haluat saada aikaan tämän lopputuloksen, ja sen jälkeen julkaise alla näkyvät muutokset.

Nykyinen versio Oma tekstisi
Rivi 4: Rivi 4:
== Käynnistäminen ==
== Käynnistäminen ==
Vimillä tiedosto avataan muokattavaksi yksinkertaisesti komennolla
Vimillä tiedosto avataan muokattavaksi yksinkertaisesti komennolla
  vim tiedosto
  vim tiedosto
Jos haluat nopeasti muokata tiedostoa tietyltä riviltä alkaen, voit käyttää <tt>+N</tt>-valitsinta
(jossa <tt>N</tt> on rivin numero tai tyhjä, jos haluat muokata viimeiseltä riviltä). Esimerkiksi
seuraava komento aloittaa muokkaamisen riviltä 32:
vim +32 tiedosto
Voit myös aloittaa muokkauksen siltä riviltä, joka sisältää tietyn merkkijonon. Tämä tapahtuu
valitsimella <tt>+/</tt>:
vim +/merkkijono tiedosto.txt


== Toimintatilat ==
== Toimintatilat ==
Rivi 30: Rivi 18:
     h  l
     h  l
       j
       j
Muistisääntönä toimii se, että j, joka näyttää hieman alaspäinnuolelta, siirtyy tiedostossa alaspäin ja h, joka on j:n vasemmalla puolella, vasemmalle. Opettelun jälkeen nämä napit ovat huomattavasti nopeammat käyttää kuin nuolinäppäimet komentotilan komentojen kanssa.
Muistisääntönä toimii se, että j, joka näyttää hieman alaspäinnuolelta, siirtyy tiedostossa alaspäin ja h, joka on vaj:n vasemmalla puolella, vasemmalle. Opettelun jälkeen nämä napit ovat huomattavasti nopeammat käyttää kuin nuolinäppäimet komentotilan komentojen kanssa.


== Tallentaminen, sulkeminen ja muita peruskomentoja ==
== Tallentaminen, sulkeminen ja muita peruskomentoja ==
Komentotilassa monilla kirjaimilla on tiettyjä komentoja. Lisäksi kaksoispisteen painaminen avaa ruudun alareunaan Vimin komentorivin, johon voi kirjoittaa komentoja. Yksi yleisimmin tarvittavista komennoista on tiedoston tallentaminen, ja se tehdään komennolla  
Komentotilassa monilla kirjaimilla on tiettyjä komentoja. Lisäksi kaksoispisteen painaminen avaa ruudun alareunaan Vimin komentorivin, johon voi kirjoittaa komentoja. Yksi yleisimmin tarvittavista komennoista on tiedoston tallentaminen, ja se tehdään komennolla  
  :w
  :w
Kokeile nyt tiedoston tallentamista. Paina ensin Esciä varmistuaksesi siitä, että olet komentotilassa. Paina tämän jälkeen kaksoispistettä ja kirjoita komentoriville w ja paina enteriä. Vim ilmoittaa tallentaneensa tiedoston ja kertoo myös mm. rivien lukumäärän.
Kokeile nyt tiedoston tallentamista. Paina ensin Esciä varmistuaksesi siitä, että olet komentotilassa. Paina tämän jälkeen kaksoispistettä ja kirjoita komentoriville w ja paina enteriä. Vim ilmoittaa tallentaneensa tiedosotn ja kertoo myös mm. rivien lukumäärän.


Huomaa, että jos et siirry ensin komentoriville kaksoispisteellä, w ei tallenna mitään vaan se siirtyy seuraavan sanan alkuun. Näistä lisää myöhemmin.
Huomaa, että jos et siirry ensin komentoriville kaksoispisteellä, w ei tallenna mitään vaan se siirtyy seuraavan sanan alkuun. Näistä lisää myöhemmin.
Rivi 47: Rivi 35:
Toisaalta jos olet varma siitä, että et halua tallentaa muutoksia, voit pakottaa Vimin sulkeutumaan lisäämällä komennon perään huutomerkin:
Toisaalta jos olet varma siitä, että et halua tallentaa muutoksia, voit pakottaa Vimin sulkeutumaan lisäämällä komennon perään huutomerkin:
  :q!
  :q!
Tiedosto voidaan ladata uudestaan komennolla
:e
Jos tiedostoa on muokattu eikä sitä ole tallennettu, on perään lisättävä huutomerkki. Tämä siis ei tallenna tiedostoa!


== Komentotilan ilot ==
== Komentotilan ilot ==
Komentotilassa lähes jokaisella aakkosnäppäimellä on oma komentonsa - ja muista, että komennot riippuvat kirjainkoosta. Näitä komentoja on todella paljon ja niitä löytyy listattuna artikkelissa [[Vim]]. Tässä käydään kuitenkin läpi tavallisimmat.
Komentotilassa lähes jokaisella aakkosnäppäimellä on oma komentonsa - ja muista, että komennot riippuvat kirjainkoosta. Näitä komentoja on todella paljon ja niitä löytyy listattuna artikkelissa [[Vim]]. Täsäs käydään kuitenkin läpi tavallisimmat.


Kirjoita tiedostoosi vaikkapa seuraavanlainen rivi (muista siirtyä kirjoitustilaan painamalla i:tä):
Kirjoita tiedostoosi vaikkapa seuraavanlainen rivi (muista siirtyä kirjoitustilaan painamalla i:tä):
  Linux.fi-wikisstä löyyy opaita ja mm keakugtdluslufet.
  Linux.fi-wikisstä löyyy opaita ja mm keakugtdluslufet.
Ja muokkaa se sitten oikeaan muotoon seuraavasti:
Ja muokkaa se sitten oikeaan muotoon seuraavasti:
#Mene komentotilaan painamalla Esc:iä
#Poista ylimääräinen s ensimmäisestä viemällä kursori (käytä hjkl-näppäimiä jotta ne tulisivat tutuksi) s:n päälle paina x:ää. x poistaa kursorin alla olevan merkin. Huomaa, että caps lock ei saa olla päällä, sillä komento on nimenomaan pieni x.
#Poista ylimääräinen s ensimmäisestä sanasta viemällä kursori (käytä hjkl-näppäimiä jotta ne tulisivat tutuksi) s:n päälle paina x:ää. x poistaa kursorin alla olevan merkin. Huomaa, että caps lock ei saa olla päällä, sillä komento on nimenomaan pieni x.
#Poista samalla tavalla ylimääräinen y toisesta sanasta
#Poista samalla tavalla ylimääräinen y toisesta sanasta
#Lisää puuttuva p kolmanteen sanaan viemällä kursori nykyisen p:n kohdalle ja paina i:tä, jolloin siirryt kirjoitustilaan. Lisää toinen p paikalleen ja paina Esciä.
#Lisää puuttuva p kolmanteen sanaan viemällä kursori nykyisen p:n kohdalle ja paina i:tä, jolloin siirryt kirjoitustilaan. Lisää toinen p paikalleen ja paina Esciä.
Rivi 76: Rivi 59:
*CTRL+r, joka tekee muutoksen uudelleen.
*CTRL+r, joka tekee muutoksen uudelleen.


Tarkastellaanpa vähän tarkemmin poistokomentoa d. Mikä ihmeen kursoriliike? Tarkastellaanpa esimerkkiä. Mitä jos vaikka haluaisimme poistaa kolme seuraavaa kirjainta? Voit ehkä jo arvata, että d:lle voi antaa kertoimen: komenna vaan 3dl, niin seuraavat 3 kirjainta poistetaan. 3 tarkoittaa siis sitä, kuinka monta kertaa operaatio toistetaan. d on poisto-operaatio ja l on, kuten alussa totesimme, "nuoli" oikealle. Toki myös 3d[oikea nuolinäppäin] toimisi, mutta se on hitaampi kirjoittaa. Kursorinliikkeeksi voidaan määrittää myös "kolme merkkiä oikealle" ja tämä operaatio voidaan toistaa kerran komennolla d3l, joka vastaisi täysin edellistä komentoa.
Tarkastellaanpa vähän tarkemmin poistokomentoa d. Mikä ihmeen kursoriliike? Tarkastellaanpa esimerkkiä. Mitä jos vaikka haluaisimme poistaa kolme seuraavaa kirjainta? Voit ehkä jo arvata, että d:lle voi antaa kertoimen: komenna vaan 3dl, niin seuraavat 3 kirjainta poistetaan. 3 tarkoittaa siis sitä, kuinka monta kertaa operaatio toistetaan. d on poist-operaatio ja l on, kuten alussa totesimme, "nuoli" oikealle. Toki myös 3d[oikea nuolinäppäin] toimisi, mutta se on hitaampi kirjoittaa. Kursorinliikkeeksi voidaan määrittää myös "kolme merkkiä oikealle" ja tämä operaatio voidaan toistaa kerran komennolla d3l, joka vastaisi täysin edellistä komentoa.


Myös edellä esitellyt w ja e ovat kursoriliikkeitä. Esimerkiksi seuraavat kolme sanaa poistettaisiin komennolla d3w.
Myös edellä esitellyt w ja e ovat kursoriliikkeitä. Esimerkiksi seuraavat kolme sanaa poistettaisiin komennolla d3w.
Rivi 83: Rivi 66:
*G, joka siirtää kursorin tiedoston loppuun
*G, joka siirtää kursorin tiedoston loppuun
*gg, joka siirtää kursorin tiedoston alkuun
*gg, joka siirtää kursorin tiedoston alkuun
*rivinumero ja gg, joka siirtää kursorin tietylle riville, esim. 5gg siirtyy riville 5.
*g rivinumero, joka siirtää kursorin tietylle riville
*%, joka siirtää kursorin valittua sulkumerkkiä - esim. {:tä - vastaavaan sulkumerkkiin (avaavasta lopettavaan ja päinvaston, kokeile!)
*%, joka siirtää kursorin valittua sulkumerkkiä - esim. {:tä - vastaavaan sulkumerkkiin (avaavasta lopettavaan ja päinvaston, kokeile!)


Rivi 109: Rivi 92:
Korvauksen voi ulottaa myös koko tiedostoon komennolla
Korvauksen voi ulottaa myös koko tiedostoon komennolla
  :%s/huono/hyvä/g
  :%s/huono/hyvä/g
Yksittäisten merkkijonojen lisäksi voidaan käyttää myös [[säännöllinen lauseke|säännöllisiä lausekkeita]]. Tästä löytyy lisätietoja [http://www.geocities.com/volontir/ VIM Regular Expressions 101] -artikkelista.


== Ulkoisten komentojen suorittaminen ==
== Ulkoisten komentojen suorittaminen ==
Rivi 117: Rivi 98:
Jos nämä tiedostot haluttaisiin kopioida nykyiseen dokumenttiin, käytettäisiin toimintoa r:
Jos nämä tiedostot haluttaisiin kopioida nykyiseen dokumenttiin, käytettäisiin toimintoa r:
  :r!ls
  :r!ls
== Makrot ==
Vim mahdollistaa komentosarjojen tallentamisen makroiksi. Makrojen avulla voidaan tehdä sama operaatio monta kertaa. Makron nauhoittaminen aloitetaan painamalla komentotilassa ensin q:ta ja tämän jälkeen sen rekisterin kirjainta, mihin makro tallennetaan. Tämän jälkeen tulee itse makro. Esimerkiksi teemme makron, joka poistaa rivin ensimmäisen merkin ja siirtää kursorin seuraavan rivin alkuun. Tämä makro voidaan sitten toistaa useamman kerran, jolloin saamme poistettua jokaisen rivin ensimmäisen merkin.
Tallennetaan tämä makro a-rekisteriin kirjoittamalla komentotilassa
qa0xj
Ja painamalla lopuksi q:ta makron nauhoituksen lopettamiseksi. Makron nauhoituksen ajan ruudun alareunassa on teksti ''recording''.
Edellä siis q aloittaa makron nauhoituksen, a tarkoittaa a-rekisteriä, 0 siirtää kursorin rivin alkuun, x poistaa merkin ja j siirtää kursorin seuraavalle riville.
Makro voidaan toistaa komennolla
@a
Eli ensin tulee @-merkki ja sen jälkeen rekisteri, johon makro on tallennettu. Makro voidaan toistaa myös useita kertoja lisäämällä sen eteen kerroin. Esimerkiksi se suoritettaisiin sata kertaa näin:
100@a


== Lopuksi ==
== Lopuksi ==
Wikin materiaali on kaikkien vapaasti käytettävissä Creative Commons 3.0 - nimi mainittava -lisenssin alaisuudessa. TEKIJÄNOIKEUDEN ALAISEN MATERIAALIN KÄYTTÄMINEN ILMAN LUPAA ON EHDOTTOMASTI KIELLETTYÄ!

Muokataksesi tätä sivua vastaa alla olevaan kysymykseen (lisätietoja):

Peruuta Muokkausohjeet (avautuu uuteen ikkunaan)