VI-EDITORI


1. Alkeet
---------

Vi on Unixin peruseditori. Se käynnistetään komennolla

	% vi nimi

missä nimi on editoitavan tiedoston nimi.


Ennen editoinnin aloittamista on syytä tarkistaa, että päätteen tyypi
on oikein määritelty. Tarkistamien tapahtuu komennolla

	% echo $term


Mikäli päättten tyyppi on määritelty väärin, se voidaan korjata komennolla

	% set term = x

missä x on päätteen oikea tyyppi (yleensä vt100 tai xterm).


Vi-editorissa on kaksi tilaa: tekstin lisäystila ja komentotila.
Tekstin lisäystilassa voidaan ainoastaan kirjoittaa uutta tekstiä tiedostoon.
Kuvaruudulla siirtyminen, tekstin poistaminen ja siirto suoritetaan 
komentotilassa.

Käynnistettäessä vi-editori on komentotilassa. Lisäystilaan päästään 
esimerkiksi seuraavilla komennoilla:

	a       lisää kohdistimen eteen
	A       lisää nykyisen rivin loppuun
	i       lisää kohdistimen jälkeen
	o       lisää uuden rivin nykyisen rivin jälkeen

Lisäystilasta päästään takaisin komentotilaan painamalla esc-näppäintä. 
Editointi lopetetaan antamalla komentotilassa komento

:wq

Komentotilassa on käytettävissä mm. seuraavat komennot:

	h       kohdistin siirtyy merkin vasemmalle
	j       kohdistin siirtyy rivin alaspäin
	k       kohdistin siirtyy rivin ylöspäin
	l       kohdistin siirtyy merkin oikealle
	0       kohdistin siirtyy nykyisen rivin alkuun
	$       kohdistin siirtyy nykyisen rivin loppuun
	G       kohdistin siirtyy tiedoston loppuun
	1G      kohdistin siirtyy tiedoston alkuun
	^B      kohdistin siirtyy ruudullisen taaksepäin
	^F      kohdistin siirtyy ruudullisen eteenpäin
	:r nimi  lukee tiedoston nimi kohdistimen kohdalle
	J       liittää seuraavan rivin nykyisen rivin perään

Tekstistä voidaan etsiä haluttua merkkijonoa komennolla

	/mallijono

Kohdistin jää ensimmäisen mallijonoon täsmäävän  merkkijonon
kohdalle.   Komennolla  n editori etsii seuraavan mallijonon
esiintymän.

Merkkijono voidaan muuntaa toiseksi komennolla

	: alkurivi,loppurivi s/korvattava jono/uusi jono/g

Rivinumeroiden ilmoittamisessa voidaan käyttää seuraavia erikosmerkkejä:

	$ tekstin viimeinen rivi
	. se rivi, jolla kohdistin on tällä hetkellä

Rivinumerot saadaan näkyviin komennolla

	:set number






2. Komennot
-----------

Alla on esitetty luettelonomaisesti vi-editorin tärkeimmät komennot.


l       kursori yhden sarakkeen oikealle
h       kursori yhden sarakkeen vasemmalle
j       kursori yhden rivin alas
k       kursori yhden rivin ylös
L       kursori kuvaruudun alareunaan (myös esim 5L 5 riviä alareunasta)
H       kursori kuvaruuden yläreunaan (          -"-        )
M       kursori kuvaruudun keskelle

w,W     seuraavan sanan alkuun
b,B     edellisen sanan alkuun
e       nykyisen sanan loppuun
^       nykyisen rivin alkuun
$       nykyisen rivin loppuun
,+ seuraavan rivin alkuun
-       edellisen rivin alkuun

nG      siirrytään riville n, oletusarvona viimeinen rivi
nx      poistaa n merkkiä kursorista alkaen, olet.arvo 1
nX      poistaa n merkkiä kursorin edestä, olet.arvo 1
ry      korvaa kursorin osoittaman merkin y:llä
R       korvaa rivillä merkkejä, kunnes annetaan 
cw..    korvaa kursorin osoittaman sanan ..:llä

ndd     poistaa n riviä, olet.arvo 1
ndw     poistaa n sanaa, olet.arvo 1
D       poistaa rivin lopun kursorista alkaen

i...       lisää ... kursorin eteen
I...       lisää ... rivin alkuun
a...       lisää ... kursorin perään
A...       lisää ... rivin loppuun
o...       lisää ... nykyisen rivin alle lisätylle riville
O...       lisää ... nykyisen rivin yläpuolelle lisätylle riville

u       poistaa edellisen komennon vaikutuksen
nY      kopioi n riviä kursorista alkaen poistopuskuriin, ol.arvona 1
p       poistopuskurin sisältö kursorin perään (alapuolelle)
P(iso)  poistopuskurin sisältö kursorin eteen (yläpuolelle)
nö      siirrytään rivillä sarakkeeseen n

s...       korvaa kursorin osoittaman merkin ...:llä
S...       korvaa kursorin osoittaman rivin ...:llä
C...       korvaa kursorista alkaen rivin lopun ...:llä

z.      nykyinen rivi kuvaruudun keskelle
z  nykyinen rivi kuvaruudun ensimmäiseksi riviksi


)       virkkeen loppuun
(       virkkeen alkuun
/...    etsii merkkijonon ... kursorista eteenpäin
?...    etsii merkkijonon ... kursorista taaksepäin
n       toistaa viimeksi suoritetun etsinnän
%       etsii alkusulkua vastaavan loppusulun (esim kätevä C:ssä)
        Toimii myös päinvastoin. Toimii suluille äå, (), ÄÅ .


D  tekstin selaus, puoli ruudullista alas eli eteenpäin
F  tekstin selaus, koko ruudullinen alas eli eteenpäin
U  tekstin selaus, puoli ruudullista ylös eli taaksepäin
B  tekstin selaus, koko ruudullinen ylös eli taaksepäin
Y  tekstin selaus, yksi rivi alas eli eteenpäin
E  tekstin selaus, yksi rivi ylös eli taaksepäin
V     :n kirjoittaminen
Z  editorin käytön pysäytys (STOP)
L  uudistaa kuvaruudun
nD tekstin selaus n riviä alaspäin
nU tekstin selaus n riviä ylöspäin

å       kappaleen loppuun (tyhjä rivi, nroff-kom .LP,.PP,.IP,.bp)
ä       kappaleen alkuun  (              -"-                    )
ÅÅ      seuraava otsikko  (nroff-kom .NH, .SH                   )
ÄÄ      edellinen otsikko (              -"-                    )

:w      tiedoston kirjoitus levylle
:q      editoinnin lopetus
:wq     kirjoitus ja lopetus
:q!     ehdoton lopetus

:s/.../,,,/     korvaa kursorin osoittamalla rivillä ...:n ,,,:lla
:s              toistaa yo. korvauksen edellisillä parametreillä
:i,js/.../,,,/  riveillä i..j korvataan ensimmäinen ... ,,,:lla
:i,js/.../,,,/g riveillä i..j korvataan kaikki ...:t ,,,:illa
                (rivinumeroissa $ merkitsee viim. riviä ja . nykyistä)

:e name         siirrytään editoimaan tiedostoa name


Etsintä- ja merkkijonolauseissa korvausmerkit ovat:
y*      täsmää merkkijonoihin , y, yx, yxx, y...
Ä1ÅÄ...Å        täsmää merkkeihin ...
Äx-yÅ   täsmää merkkeihin x:stä y:hyn


  mx    rivi merkitään kirjaimella x  (a-z)
  'x    siirrytään kirjaimen x merkitsemään paikkaan
  ``    siirrytään takaisin edelliseen paikkaan
  <<    siirretään kursorin osoittamaa riviä vasemmalle
  >>    siirretään kursorin osoittamaa riviä oikealle
  ''    takaisin edelliseen paikkaan


Editorissa on käytettävissä 25 puskuria, joihin viitataan kirjaimella
x  (a-z). Lisäksi on 9 tuhoamispuskuria, joihin viitataan numerolla n
(1-9). Tuhoamispuskureissa on 9:n edellisen tuhoamiskerran sisällöt.

"xY     kursorin osoittama tekstirivi puskuriin x
"xp     tulostetaan puskurin x sisältö


Makroja on kahta tyyppiä. Ensimmäisessä puskuriin x talletetaan
komentosarja, jonka makro suorittaa. Toisessa makro ilmaistaan
:map-määritteen avulla.

@ x             suoritetaan puskurissa x oleva makro

:map x y        x on kirjain tai kirjainyhdistelmä, joka suorittaa
                y:ssä ilmoitetut toiminnot

:ab x y         sanojen korvaus. kirjoitettaessa tekstiä korvautuu
                merkkijono x aina y:llä

:set wm=n       aiheuttaa sen, että kun ollaan kirjoittamassa n:ttä
                merkkiä ennen rivin loppua, katkaisee editori rivin
                automaattisesti lähimmästä tyhjeestä tai tab-kohdasta
                (:set wm=10  hyvä tekstiä kirjoitettaessa)

:set ai         rivinsiirron yhteydessä alkaa seuraava rivi
                automaattisesti samalta tasolta kuin edellinen
                ( D siirtää alkukohtaa vasemmalle)

:show match     etsii C-kielessä alkusulkua vastaavan loppusulun 


Back to homepage - takaisin kotisivulle

Last updated: October 21, 1996