Perusohje vi-editorin käyttöön



Samankaltaiset tiedostot
Hannu Valtanen Oy. Linux vi-editori

Luento 5. Timo Savola. 28. huhtikuuta 2006

Kieliteknologian ATK-ympäristö Kolmas luento

Ubuntu tunkkausta En US / Helsinki asennuksen jälkeen jotta loki5ac toimisi oikein Winen päällä.

Komentotulkki. Kysymyksiä

Vesa Ollikainen, päivitys Juha Haataja

Korpusten käsittely clt131, P Luento 4

TALLENNETAAN MUISTITIKULLE JA MUISTIKORTILLE

AMIS-ohjelman käyttöohjeet

6.1 Tekstialueiden valinta eli maalaaminen (tulee tehdä ennen jokaista muokkausta ym.)

Tekstinkäsittely 1. Peruskäyttö. Tietotekniikan perusteet Metropolia Ammattikorkeakoulu Vesa Ollikainen

1. HARJOITUS harjoitus3_korjaus.doc

Kappale 18: Teksti-editori

SCI- A0000: Tutustuminen Linuxiin, syksy 2015

OPINNÄYTETYÖ MALLIPOHJAN KÄYTTÖOHJE

KÄYTTÖOHJE. Servia. S solutions

Vesa Ollikainen, päivitys Juha Haataja

Ksenos Prime Käyttäjän opas


UpdateIT 2010: Editorin käyttöohje

SÄHKÖPOSTIN PERUSKURSSI

IDL - proseduurit. ATK tähtitieteessä. IDL - proseduurit

Microsoft Word-tekstinkäsittelyohjelman

Ohjeistus yhdistysten internetpäivittäjille

ATK tähtitieteessä. Osa 3 - IDL proseduurit ja rakenteet. 18. syyskuuta 2014

Octave-opas. Mikä on Octave ja miksi? Asennus

Luento 3. Timo Savola. 7. huhtikuuta 2006

Väitöskirja -mallipohja

Tekstin etsiminen ja korvaaminen

Kuva 1. Jokaisen tavallisen kuvan tasotyökalussa näkyy vain yksi taso, tässä nimellä tausta.

Ohjeet asiakirjan lisäämiseen arkistoon

Korpusten käsittely clt131, P Luento 5

Osa 7: Hahmojen ohjelmointi ja hienosäätö

ATK-taitojen päivitys luento 1. Maaningan seurakunta Hannu Räisänen 2013

VSP webmail palvelun ka yttö öhje

Selkosanakirja sdfghjklöäzxcvbnmqwertyuiopåasdfghjklöäzxcvbnmq. Tietokoneet. wertyuiopåasdfghjklöäzxcvbnmqwertyuiopåasdfghjk 1.4.

SÄHKÖPOSTIN PERUSKURSSI. HERVANNAN KIRJASTO TIETOTORI Insinöörinkatu Tampere

Ohjelmoinnin perusteet Y Python

Tärkeimmät toiminnot. Kertausta ja uusia toimintoja Wordistä sekä tiedostonhallinnasta. Tärkeimmät toiminnot jatkuu...

Sähköpostitilin käyttöönotto. Versio 2.0

TIETOKONEEN ÄÄRELLÄ. Kansalaisopistot kotouttamisen tukena hanke/opetushallitus Kuopion kansalaisopisto

SÄHKÖPOSTIN PERUSKURSSI. HERVANNAN KIRJASTO TIETOTORI Insinöörinkatu Tampere

Lupa opetuskäyttöön pyydettävä. Näppäimistö. Kohdistimen ohjausnäppäimistö. Funktionäppäimistö. Kirjoitusnäppäimistö

Korpusten käsittely clt131, P Luento 3

MixW ja Dx-vihjeet (ohje) oh3htu

Maastotietokannan torrent-jakelun shapefile-tiedostojen purkaminen zip-arkistoista Windows-komentojonoilla

Ohjeita Porin Lyseon koulun yrittäjuuskasvatuksen blogin kirjoittamiseen

KÄYTTÖOHJE LATOMO VERSO

STS Uuden Tapahtuma-dokumentin teko

Hgin kaupungin opetusvirasto Wilma opas huoltajille 1(10) HAKE/Tiepa KKa

ENNI-järjestelmällä tehtävä selainennakkoilmoitus

Tiedostonhallinta. Yleistä

2. Aloitus -välilehti, leikepöytä- ja fontti -ryhmät

ASENNUS- JA KÄYTTÖOHJE

KUVAN TUOMINEN, MUOKKAAMINEN, KOON MUUTTAMINEN JA TALLENTAMINEN PAINTISSA

6. Valitse avautuneesta ikkunasta Add-painike!

Asko Ikävalko, k TP02S-D. Ohjelmointi (C-kieli) Projektityö. Työn valvoja: Olli Hämäläinen

Windowsin pikanäppäimet

VANHEMPIEN KÄYTTÖLIITTYMÄN OHJEET

YH1b: Office365 II, verkko-opiskelu

Joomla pikaopas. Yksinkertainen opas, jossa neuvotaan esimerkkisivuston teko Joomla julkaisujärjestelmällä vaihe vaiheelta.

UpdateIT 2010: Uutisten päivitys

Siirtyminen Outlook versioon

Kuvien lisääminen ja käsittely

Visma.net Approval. Versiosaate 1.40

Pikanäppäin Yhdistelmiä. Luku 6 Pikanäppäimet

Wilman käyttöohje huoltajille

NETIKKA TV KÄYTTÖOHJE

Luvuilla laskeminen. Esim. 1 Laske

TALLENNETAAN MUISTITIKULLE JA MUISTIKORTILLE

GALERIE EXHIBITIONS (13) 1 2 EXHIBITIONS 2

5. HelloWorld-ohjelma 5.1

VINKKEJÄ CV-NETIN KÄYTTÖÖN.

STS UUDEN SEUDULLISEN TAPAHTUMAN TEKO

Jypelin käyttöohjeet» Ruutukentän luominen

Office_365_loppukäyttäjän ohje Esa Väistö

Muistitikun liittäminen tietokoneeseen

Taulukot, taulukkoryhmät Sisällysluettelo

Matriisit ovat matlabin perustietotyyppejä. Yksinkertaisimmillaan voimme esitellä ja tallentaa 1x1 vektorin seuraavasti: >> a = 9.81 a = 9.

Tekstinkäsittelyn jatko KSAO Liiketalous 1. Osanvaihto näkyy näytöllä vaakasuorana kaksoispisteviivarivinä ja keskellä riviä lukee osanvaihdon tyyppi

VERKKOVELHO-YLLÄPITOTYÖKALUN KÄYTTÖOHJE

elearning Salpaus Elsa-tutuksi

Kuvan pienentäminen Paint.NET-kuvankäsittelyohjelmalla

Tekstinkäsittelyharjoitus

Webmailin käyttöohje. Ohjeen sisältö. Sähköpostin peruskäyttö. Lomavastaajan asettaminen sähköpostiin. Sähköpostin salasanan vaihtaminen

Vedä ja pudota Maamittauslaitoksen JPEG2000-ortoilmakuva GeoTIFF-muotoon

Kyläsivujen InfoWeb-ohje

zotero

Ohjeita LINDOn ja LINGOn käyttöön

KÄYTTÖVALTUUSHALLINTA (KVH) 1 (14) Käyttöohje rekisterinpidon yhteyshenkilölle

Järjestelmän asetukset. Asetustiedostojen muokkaaminen. Pääkäyttäjä eli root. Järjestelmänhallinnan työkalut

LUKKARIKONE KÄYTTÖOHJE

Ohjelmoinnin perusteet Y Python

Taulukkolaskentaa selkokielellä EXCEL

Nettipassitus, tunnistetun käyttäjän toiminnot

MITÄ JAVASCRIPT ON?...3

TAULUKKORYHMÄT. Sisällysluettelo

Tekstinkäsittelyn jatko. KSAO Liiketalous 1

Kirkkopalvelut Office365, Opiskelijan ohje 1 / 17 IT Juha Nalli

Excel Perusteet Päivi Vartiainen 1

Transkriptio:

Perusohje vi-editorin käyttöön Aapo Rista 22.9.2000 Sisältö 1 Johdanto 1 2 vi:n komento- ja kirjoitustilat 2 3 vi:n käynnistäminen ja siitä poistuminen 2 4 Liikkuminen tekstissä 3 5 Merkkien lisääminen ja poistaminen 4 6 Tekstin etsiminen ja korvaaminen 5 7 Lähteet ja lisälukemista 6

1 Johdanto Ennen tämän artikkelin kirjoittamista osasin juuri ja juuri muokata tekstiä vi:llä ja poistua editorista. Hallittu poistuminen on kuitenkin vi:n tapauksessa ainakin aloittelijoille tärkeä taito. Siksipä heti näin alussa: Jos haluat poistua vi-editorista tallentamatta mahdollisesti tehtyjä sotkuja, paina Esc-näppäintä päästäksesi vi:n komentotilaan. Komentotilassa kirjoita merkkiyhdistelmä :q!<enter>. Tämän jälkeen sinun pitäisi olla taas Unixin komentokehotteessa tai mistä ikinä vi:n käynnistitkään. ( <Enter> tarkoittaa tässä ja tulevissa esimerkeissä enternäppäimen painallusta eikä lainausmerkkejä ei pidä kirjoittaa. Kannattaa huomioida myös, että joissain tapauksissa yksi Esc-näppäimen painallus ei riitä komentotilaan pääsemiseen.) Jos taas haluat tallentaa tuotoksesi ja lopettaa vi:n, niin siirry tässäkin tapauksessa komentotilaan Esc-näppäimellä ja kirjoita ZZ. Tällöin vi tallentaa tiedoston ennen sulkeutumistaan. Joissain vi-jakeluversioissa on mukana online-help, jonka saa näkyviin kirjoittamalla komentotilassa :help<enter>. Helppi on varsin monipuolinen ja siihen kannattaa ainakin tutustua. Help-ikkunasta pääsee pois kirjoittamalla :q<enter>. Koska olen itsekin varsinainen aloittelija, lähestyn vi:tä aloittelijan näkökulmasta, enkä kirjoita sen kummempia vi:n filosofiasta. Kerron kuitenkin pari itse havaitsemaani seikkaa: vi löytyy lähes kaikista Unix-tyyppisistä järjestelmistä. Usein, vaikka mitään muuta editoria ei olisi käytössä, vi toimii. vi käynnistyy nopeasti. Jos tarve on vain hieman muokata jotain tiedostoa, niin vi käynnistyy yleensä nopeasti ja säästää arvokkaita sekunteja. vi on muita editoreita (kuten emacs) immuunimpi rikkinäisille terminaaliemulaattoreille, näppäinkartoille jne. vi siis saattaa pelastaa päiväsi, kun joudut käyttämään jotain Unix-purkkia jonkin ihmeellisen (epästandardin) pääteyhteyden yli. vi on tehokäyttäjän hyppysissä varsin nopea ja tehokas. Katseltuani aikani erään edistyneemmän Unix-henkilön nakkien vipellystä näppiksellä hänen muokatessa muutamia tiedostoja vi:llä, päätin opetella siitä ainakin perusteet. Samalla syntyi tämä aloittelijan vi-opas. 1

Olen olettanut tätä artikkelia kirjoittaessani, että lukijalla on tiedossa ainakin perusalkeet Unix-järjestelmästä. Toivottavasti tästä alkeisoppaasta koituu joillekin lukijoille edes osa siitä hyödystä, jonka sen kirjoittaminen antoi minulle. Aapo Rista Aapo.Rista@iki.fi 2 vi:n komento- ja kirjoitustilat Johdannossa mainittiin pariin otteeseen vi:n komentotila. vi voikin olla kahdessa eri tilassa: komento- ja kirjoitustilassa (command and insert modes). Komentotilaan pääsee Esc-näppäintä painamalla ja komentotilassa syötetään vi:n komennot. Käyttäjä voi keskeyttää komennon kirjoittamisen Esc-näppäimellä, jolloin vi palaa komentotilaan. Kirjoitustilassa käyttäjä pääsee kirjoittamaan tekstiä aktiiviseen puskuriin (buffer), eli eräänlaiseen editointi-ikkunaan. Puskureita voi olla yhtäaikaa näkyvissä useampia 1 ja lisäksi niitä voi olla myös näkymättömissä. Tässä ei puututa useampien puskureiden saloihin sen tarkemmin, mutta eräs asia on syytä mainita: aktiivista puskuria voi vaihtaa komennolla Ctrl+W Ctrl+W. Taito vaihtaa aktiivinen puskuri on aloittelijallekin hyödyllinen haluttaessa vaikka pitää online-help (jonka siis saa esiin komennolla :help<enter> ) selattavissa yhtäaikaa muokattavan tiedoston kanssa. 3 vi:n käynnistäminen ja siitä poistuminen vi käynnistyy Unixin komentokehotteessa yksinkertaisesti komennolla vi:. Tällöin päästään kirjoittamaan nimeämättömään puskuriin. Kirjoitettu teksti on tallennettava tiedostoon jollain nimellä ja se tapahtuu komentotilassa komennolla :w tiedostonimi<enter>. Komennolla vi tiedostonimi editoriin taas aukeaa nimetty tiedosto. Jos tiedostoa ei ennestään ole, sellainen luodaan tallennettaessa. Joskus tulee tarve poistua vi:stä ilman, että muutokset tallentuvat tiedostoon. Se onnistuu komennolla :q!<enter>. Jos tiedostoa ei ole muutettu tai se on juuri tallennettu, riittää pelkkä :q<enter>. 1 Itse asiassa tämä ei ole vi:n ominaisuus, vaan se löytyy joistain vi-klooneista, kuten vimeditorista. Monissa ympäristöissä vi:n sijaan komennolla vi käynnistyy kuitenkin vim, joten puskuriasia oli syytä mainita 2

Tiedoston välitallennus tapahtuu komennolla :w<enter>. Toisella nimellä tallentaminen onnistuu, kun kirjoittaa edellisen komennon perään välilyönnin ja uuden tiedoston nimen. vi:stä poistumiseen ja tiedoston tallentamiseen voi käyttää myös komentoa ZZ. Tässä vaiheessa on myös syytä mainita, että vi:n komennoissa ISOILLA ja pienillä kirjaimilla on eroa. Esimerkiksi j siirtää kursoria yhden askeleen alaspäin, mutta J taas yhdistää kaksi riviä yhdeksi. 4 Liikkuminen tekstissä Ensin kannattaa kokeilla kursori- eli nuolinäppäimiä. Jos ne eivät vaikka joistain kummallisista pääteasetuksista johtuen toimi oikein, voi askel kerrallaan liikkumiseen käyttää komentotilassa seuraavia näppäimiä: h j k l askel vasemmalle askel alas askel ylös askel oikealle Muita hyödyllisiä liikkumiseen vaikuttavia näppäinkomentoja komentotilassa on mm.: $ rivin loppuun 0 rivin alkuun ^ rivin ensimmäiseen merkkiin w tai W seuraavan sanan alkuun e tai E sanan loppuun b tai B sanan alkuun H M L ng näytön yläriville näytön keskelle näytön alariville riville n (n on kokonaisluku) Ctrl+F näytöllinen alas Ctrl+B näytöllinen ylös Ctrl+D puoli näytöllistä alas Ctrl+U puoli näytöllistä ylös Ctrl+L näytön virkistys :f kertoo kursorin sijainnin Ennenkuin lähtee vaeltamaan tekstissä, voi kursorin sen hetkisen sijainnin panna muistiin. Merkkaaminen onnistuu komennolla m<merkki>, missä <merkki> on 3

joku merkki väliltä a-z, A-Z tai 0-9. Paluu merkattuun kohtaan tapahtuu komennolla <merkki>. (Hipsukka ennen merkkiä on vasemmalle kallistunut ja se löytynee suomalaiselta näppäimistöltä backspace -näppäimen vasemmalta puolelta.) Kokeilemalla saa parhaan tuntuman edellä mainittuihin komentoihin. Lisäksi kannattaa huomata, että kirjoitettaessa ennen komentoa (komentotilassa) kokonaisluku n, suoritetaan seuraava komento n kertaa. Esim. 5k siirtää kursoria viisi riviä ylöspäin. Edellä mainittu toimii useimpien komentojen kanssa. 5 Merkkien lisääminen ja poistaminen Kirjoitustilassa tekstin lisääminen tapahtuu normaalisti näppäimistöltä. Kirjoitustilaan pääsee komentotilasta mm. seuraavilla komennoilla: a A i I o O lisää tekstiä kursorin oikealle puolelle lisää tekstiä rivin loppuun lisää tekstiä kursorin kohdalle lisää tekstiä rivin alkuun tekee alapuolelle tyhjän rivin ja lisää tekstiä rivin alkuun tekee kohdalle tyhjän rivin ja lisää tekstiä rivin alkuun Merkkejä voi poistaa ja korvata ainakin seuraavilla komennoilla: x X r<merkki> R poistaa kursorin kohdalla olevan merkin poistaa kursoria edeltävän merkin korvaa kursorin kohdalla olevan merkin vi siirtyy korvaustilaan Monipuolisemmin merkkien poisto onnistuu komennolla d, jonka käytöstä tässä muutamia esimerkkejä: d^ poistaa merkit kursorin vasemmalta puolelta rivin alkuun d$ tai D poistaa merkit kursorista rivin loppuun dd poistaa koko rivin dw poistaa merkit kursorista seuraavan sanan alkuun de poistaa merkit kursorista sanan loppuun 5de poistaa 5 seuraavaa sanaa 5dd poistaa viisi riviä jne... d itse asiassa leikkaa (cut) poistetun tekstin puskuriin. Tekstin voi liimata (paste) komennoilla p ja P. Viimeisimmän muutoksen voi peruuttaa (undo) komennolla u ja kaikki riville tehdyt muutokset komennolla U. 4

p P 4P u U lisää poistetun tekstin kursorin jälkeen lisää poistetun tekstin kursorin kohdalle lisää poistetun tekstin kursorin kohdalle 4 kertaa peruuta viimeisin muutos peruuta kaikki äsken riville tehdyt muutokset Joskus tulee tarve kopioida tekstiä toiseen paikkaan. Tekstiä voi kopioida puskuriin riveittäin komennolla yy. yy kopioi kursorin osoittaman rivin, 3yy (tai 3Y ) taas kolme riviä. Jos ei halua laskea rivejä, voi kopioitavan alueen alun merkata komennolla m<merkki> ja kopioida alueen sitten puskuriin komennolla y <merkki>. Kopioidun tekstin liittäminen tapahtuu edellä mainituilla p ja P komennoilla. 6 Tekstin etsiminen ja korvaaminen Etsi-toiminnon peruskäyttö on vi:ssä varsin yksinkertaista 2 : vinoviivan perään kirjoitetaan etsittävä merkkijono ja painetaan enter: /mjono<enter> siirtää kursorin seuraavaan merkkijonon mjono esiintymään tekstissä.?mjono taas siirtää kursorin edelliseen esiintymään. On huomattava, että jotkut vi:n käyttämät erikoismerkit on suojattava etsittävissä merkkijonoissa kenoviivalla. Näitä ovat mm.: ^*$[<> ja. Etsintää voi jatkaa samaan suuntaan komennolla n ja vastakkaiseen suuntaan komennolla N. Yhteenveto: /mjono etsii seuraavan esiintymän merkkijonosta mjono?mjono etsii edellisen esiintymän merkkijonosta mjono n toistaa edellisen etsinnän samaan suuntaan N toistaa edellisen etsinnän vastakkaiseen suuntaan Etsi-korvaa-toiminnon peruskäyttö on melkein yhtä yksinkertaista 3 : jos halutaan korvata esimerkiksi kaikki tekstissä esiintyvät merkkijonot foo merkkijonolla puppu, komento kuuluu: :1,$s/foo/puppu/g. Edellisessä 1,$ tarkoittaa rivejä ensimmäisestä viimeiseen, s on komento, vinoviiva / erotinmerkki ja g kohdistaa toimenpiteen kaikkiin rivin esiintymiin. (Muuten ainoastaan rivin ensimmäinen esiintymä korvattaisiin uudella). 2 Etsi-toiminto on oikeasti kuitenkin varsin monipuolinen ja lisätietoa siitä kannattaa etsiä vi:n dokumentaatiosta tai valmiiksi pureskeltuna erilaisista oppaista Internetistä. 3 Etsi-korvaa-toiminto on myöskin erittäin monipuolinen ja lisätietoa siitä kannattaa etsiä vi:n dokumentaatiosta ja etenkin Internetistä. 5

Edellämainituissa komennoissa voi käyttää ns. säännöllisiä lausekkeita (regular expression), jotka ovat osaavissa käsissä erittäin tehokas väline merkkijonojen käsittelyyn. Niihin kannattaa tutustua. 7 Lähteet ja lisälukemista Tässä artikkelissa on nyt käyty sellaiset vi:n peruskomennot läpi, joilla voi aloittaa melko järkevästi vi:n käytön. vi on kuitenkin varsin monipuolinen editori ja paljon käyttökelpoisia ominaisuuksia on jäänyt mainitsematta. Toisaalta, kun peruskäyttö on hallussa, niin vähitellen voi opetella niitä todellisen tehokäyttäjän vi-toimintoja. Etenkin Internet on pullollaan eritasoisia vi-oppaita. Google löysi 16.09.2000 hakusanoilla vi tutorial noin 64800 osumaa. Suomenkielistä vi-materiaalia tuntuu löytyvän vähän heikosti, tässä kuitenkin pari melko linkitettyä URLia: http://www.hit.fi/%7elehtonen/unix/unix26.htm http://www.cs.joensuu.fi/pages/amanuenssi/computing_facilities CS/vi/vi.html /Ohjelmat- Edellisestä löytyy aivan peruskomennot ja jälkimmäinen on laajempi lista vi:n komennoista. Englanninkielisistä tutoriaaleista kannattanee mainita ainakin http://www.eng.hawaii.edu/tutor/vi.html http://www.cis.udel.edu/%7etotten/vi/ http://www.networkcomputing.com/unixworld/tutorial/009/009.html http://www.thomer.com/thomer/vi/vi.html Lisäksi Unixin komentokehotteessa man vi ja vi:n komentotilassa :help auttavat tarvittaessa. 6