A vi szerkesztőA vi szerkesztő

A programozáson túl különféle rendszerfelügyeleti feladatok elvégzésére is szükség van még ASCII-szövegszerkesztőkre (text editor). A Unix világában a vi az a szerkesztő, amelyik meglepően széleskörű funkcionalitást kínál, ugyanakkor ergonomikusabb, mint sok más, egérhasználatot is lehetővé tevő szerkesztő.

Működési módokMűködési módok

[Note]Billentyűk listája

Az alábbiakban bemutatunk számos parancsot, amelyek a vi-ban egyszerűen, néhány billentyű lenyomásával elérhetők. Ezek a billentyűzeten nagybetűvel jelennek meg. Ha nagybetűvel kell beírnia egy billentyűt, akkor azt kifejezetten jelezni fogjuk, a Maj billentyűt is tartalmazó billentyűkombinációval.

A vi háromféle módban működhet: beszúrási módban, parancs módban és kiterjesztett módban. Az egyes billentyűknek más hatása van a módoktól függően. Induláskor a vi általában parancs módban indul. Az első dolog, hogy megtanuljunk váltani a módok között:

Parancs módból beszúrási módba

Ez többféleképp is lehetséges: az A megnyomására hozzáfűzés, az I megnyomására beszúrás történik, az O megnyomására pedig egy új sor szúródik be az aktuális sor alatt.

Beszúrási módból parancs módba

A beszúrási módból az Esc billentyű megnyomásával lehet kilépni. A vi semmiképpen nem állítható le beszúrási módban, ezért fontos, hogy hozzászokjon az Esc billentyű használatához.

Parancs módból kiterjesztett módba

A vi kiterjesztett módja egy kettőspont (:) beírásával érhető el. A kiterjesztett, rövidebb nevén ex mód olyan, mint egy kis egysoros, különféle egyszerű és bonyolultabb feladatokra használható szerkesztő.

Kiterjesztett módból parancs módba

A kiterjesztett módból a szerkesztő egy parancs végrehajtása után automatikusan visszatér parancs módba. Ha nem kíván semmilyen parancsot végrehajtani kiterjesztett módban, akkor törölje a kettőspontot a <— billentyűvel. Ennek hatására a szerkesztő visszatér parancs módba.

Beszúrási módból nem lehet közvetlenül kiterjesztett módba kapcsolni anélkül, hogy előbb vissza ne térne parancs módba.

A vi-nak, hasonlóan más szerkesztőkhöz, megvan a maga saját eljárása a program leállítására. Beszúrási módban a vi nem állítható le. Először lépjen ki a beszúrási módból az Esc billentyű lenyomásával. Ezután két lehetőség közül választhat:

  1. Kilépés mentés nélkül: Ha a módosítások mentése nélkül kíván kilépni a szerkesztőből, írja be a : Q ! parancsot parancs módban. A felkiáltójel (!) hatására a vi figyelmen kívül hagyja a változásokat.

  2. Mentés és kilépés: A módosítások mentésére és a szerkesztőből kilépésre többféle lehetőség is van: Parancs módban használhatja a Maj-Z Maj-Z billentyűkombinációt. Ha kiterjesztett módból akar kilépni a programból a módosítások elmentésével, írja be, hogy : W Q. Kiterjesztett módban a w az írást (write), a q pedig a kilépést (quit) jelenti.

A vi működés közbenA vi működés közben

A vi ugyanúgy használható, mint a többi szerkesztőprogram. Beszúrás módban szabadon írható be szöveg, illetve törölhetők karakterek a <— és Suppr billentyűkkel. A kurzor a nyíl billentyűkkel mozgatható.

Ezek a vezérlőbillentyűk azonban sokszor okoznak gondot, mert akadnak termináltípusok, amelyek speciális billentyűkombinációkat használnak. Itt segít a parancs mód. Nyomja meg az Esc billentyűt, mire visszalép beszúrás módból parancs módba. Parancs módban a kurzor a H, J, K és L billentyűkkel mozgatható. Az egyes billentyűk hatása:

H

egy karakterrel balra mozgás

J

egy sorral lejjebb mozgás

K

egy sorral feljebb mozgás

L

egy karakterrel jobbra mozgás

A parancs mód parancsai sokféleképpen variálhatók. Ha egy parancsot többször egymás után kíván végrehajtani, egyszerűen írja be a parancs elé az ismétlések számát. Az 5 L leütésére például a kurzor 5 karakterrel jobbra mozog.

A legfontosabb parancsokat a 15.2. táblázat - Legfontosabb vi-parancsok táblázatban láthatók. A lista messze nem teljes. Részletesebb listák a 15.4.3. szakasz - További információk helyen található dokumentációban olvashatók.

15.2. táblázat - Legfontosabb vi-parancsok

Esc

Váltás parancs módba

I

Váltás beszúrás módba (a karakterek a kurzor aktuális pozíciójától kezdve jelennek meg)

A

Váltás beszúrás módba (a karakterek a kurzor aktuális pozíciója utántól lesznek beszúrva)

Maj-A

Váltás beszúrás módba (a karakterek a sor végére lesznek beszúrva)

Maj-R

Váltás felülírás módba (a karakterek felülírják a régi szöveget)

R

A kurzor alatti karakter felülírása

O

Váltás beszúrás módba (az aktuális sor után egy új szúródik be)

Maj-O

Váltás beszúrás módba (az aktuális sor elé egy új szúródik be)

X

Az aktuális karakter törlése

D D

Az aktuális sor törlése

D W

Törlés az aktuális szó végéig

C W

Váltás beszúrás módba (az aktuális szó maradék része felülíródik a következő beírt szóval)

U

A legutolsó parancs visszavonása

Ctrl-R

A visszavont módosítás újra végrehajtása

Maj-J

Az aktuális sor és a következő összeolvasztása

.

Az utolsó parancs megismétlése


További információk További információk

A vi sokféle parancsot ismer. Használhatók makrók, billentyűparancsok, megnevezett pufferek, és még sok-sok egyéb hasznos funkció. A különféle lehetőségek részletes leírása messze meghaladja a jelen kézikönyv lehetőségeit. A SUSE Linux Enterprise a vim (vi improved) nevű programot, a vi egy még tovább fejlesztett változatát tartalmazza. Az alkalmazással kapcsolatban igen sokféle forrásból szerezhető információ:

[Important]A VIM-licenc

A vim „charityware”, ami azt akarja jelenteni, hogy bár a szerzők maguk nem kérnek pénzt a szoftverért, de kérik, hogy a felhasználók támogassanak valamilyen nonprofit projektet pénzükkel. Konkrétan a projekt fel is kér az ugandai szegény gyerekek megsegítésére. További információ online, a http://iccf-holland.org/index.html, http://www.vim.org/iccf/ és http://www.iccf.nl/ címeken olvasható.