Ero sivun ”Vimin peruskäyttö” versioiden välillä

Siirry navigaatioon Siirry hakuun
2 423 merkkiä lisätty ,  3. joulukuuta 2011
kumottu kirjoitusvirheen korjausmuokkaus, typot on tarkoituksella
Ei muokkausyhteenvetoa
 
(kumottu kirjoitusvirheen korjausmuokkaus, typot on tarkoituksella)
(13 välissä olevaa versiota 7 käyttäjän tekeminä ei näytetä)
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 18: Rivi 30:
     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 vaj: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 j: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 tiedosotn 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 tiedoston 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 35: Rivi 47:
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äsäs 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ässä 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:
#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.
#Mene komentotilaan painamalla Esc:iä
#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 59: Rivi 76:
*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 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.
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.


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.
Kursorinliikkeitä ovat myös mm.
*G, joka siirtää kursorin tiedoston loppuun
*gg, joka siirtää kursorin tiedoston alkuun
*rivinumero ja gg, joka siirtää kursorin tietylle riville, esim. 5gg siirtyy riville 5.
*%, joka siirtää kursorin valittua sulkumerkkiä - esim. {:tä - vastaavaan sulkumerkkiin (avaavasta lopettavaan ja päinvaston, kokeile!)


== Tekstin maalaaminen, kopiointi ja liittäminen ==
== Tekstin maalaaminen, kopiointi ja liittäminen ==
Rivi 86: Rivi 109:
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 92: Rivi 117:
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 ==

Navigointivalikko