Dokumentáció/CLP10/Alapok/7.fejezet
Rövid ismerkedés a vi szerkesztővel
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ódok
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 kerül beszúrásra 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övid 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 kis 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:
- 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.
- 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 Z 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ö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 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 ésL 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ásA 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 5L leütésére például a kurzor 5 karakterrel jobbra mozog.
További információ
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ég részletes leírása messze meghaladja a jelen kézikönyv lehetőségeit. A SUSE LINUX 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ó:
- A vimtutor a vim interaktív oktatóprogramja.
- A vim használata közben beírható a :help parancs, amelynek hatására bőséges súgó kapható.
- A vim-ről szóló könyv elérhető a http://www.truth.sk/vim/vimbook-OPL.pdf címen.
- A vim projekt weboldalán (http://www.vim.org) mindenféle hírek, levelezőlisták és egyéb dokumentumok találhatók.
- További vim-források az interneten: http://www.selflinux.org/selflinux/html/vim.html, http://www.linuxgazette.com/node/view/9039, http://www.apmaths.uwo.ca/~xli/vim/vim_tutorial.html. A http://linux-universe.com/HOWTO/Vim-HOWTO/vim-tutorial.html címen további hivatkozások találhatók oktatóanyagokra.
A vi szerkesztő
A vi szerkesztő használata egy kis gyakorlatot igényel. Sok embernek ez a kedvenc szerkesztője, részben azért, mert minden UNIX-jellegű operációs rendszeren rendelkezésre áll, és mert része az alapértelmezett Linux-telepítéseknek is. Emellett, ha semmi más nem is, de a vi mindig működik. Az itt következő rövid útmutatás segít abban, hogy könnyebben szerkeszthesse a különféle konfigurációs és egyéb fájlokat a vi programmal.A vi háromféle módban működik. Parancs módban a rendszer a billentyűket parancselemekként értelmezi. A beszúrás mód minden billentyűt szövegbejegyzésként értelmez. Az utolsó sor módot az összetettebb parancsoknál használjuk, amelyek az utolsó sorba kerülnek beírásra.
ESC | Utolsó sor módba vált. |
i | Beszúrási módra vált (a karakterek az aktuális kurzorpozícióban jelennek meg). |
a | Beszúrási módra vált (a karakterek az aktuális kurzorpozíció után jelennek meg). |
A | Beszúrási módra vált (a karakterek a sor végéhez adódnak hozzá). |
R | Parancs módba vált (felülírja a régebbi szöveget). |
r | Beszúrási módba vált, és felülírja a karaktereket. |
s | Beszúrás módba vált (az a karakter, ahol a kurzor van, behelyettesítésre kerül az Ön által megadott következő bejegyzéssel). |
C | Beszúrás módba vált (a sor hátralévő része lecserélésre kerül az új szöveggel). |
o | Beszúrás módba vált (a jelenlegi után egy új sor kerül beszúrásra). |
O | Beszúrás módba vált (a jelenlegi elé egy új sor kerül beszúrásra). |
x | Törli az aktuális karaktert. |
dd | Törli az aktuális sort. |
dw | Töröl az aktuális szó végéig. |
cw | Beszúrás módba vált (az aktuális szó maradék része felülírásra kerül a következő bejegyzéssel). |
u | Visszavonja a legutolsó parancsot. |
J | A következő sort a jelenlegihez kapcsolja. |
. | Megismétli a legutolsó parancsot. |
: | Utolsó sor módba vált. |
A legfontosabb parancsok listája (parancs módban): A vi szerkesztő egyszerű parancsai. Minden parancsot megelőzhet egy szám, amely megadja, hogy a következő parancs hány objektumra vonatkozzon. Egyszerre három szó törléséhez például adja meg: 3dw. A 10x parancs tíz karaktert töröl a kurzor után, a 20dd pedig húsz sort.
A legfontosabb parancsok listája (utolsó sor módban): A vi szerkesztő összetett parancsai.
:q! | mentés nélkül kilép a programból |
:wfájlnév | mentést készít fájlnév néven |
:x | menti a módosított fájlt, és kilép a szerkesztőből |
:efájlnév | szerkeszti (betölti) a fájlnév állományt |
:u | visszavonja a legutolsó szerkesztési parancsot. |