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

Siirry navigaatioon Siirry hakuun
928 merkkiä lisätty ,  3. joulukuuta 2011
kumottu kirjoitusvirheen korjausmuokkaus, typot on tarkoituksella
(makrot)
(kumottu kirjoitusvirheen korjausmuokkaus, typot on tarkoituksella)
 
(11 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.
Rivi 66: Rivi 83:
*G, joka siirtää kursorin tiedoston loppuun
*G, joka siirtää kursorin tiedoston loppuun
*gg, joka siirtää kursorin tiedoston alkuun
*gg, joka siirtää kursorin tiedoston alkuun
*g rivinumero, joka siirtää kursorin tietylle riville
*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!)
*%, joka siirtää kursorin valittua sulkumerkkiä - esim. {:tä - vastaavaan sulkumerkkiin (avaavasta lopettavaan ja päinvaston, kokeile!)


Rivi 92: 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 ==

Navigointivalikko