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ő.
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:
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.
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.
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ő.
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:
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 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 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:
egy karakterrel balra mozgás
egy sorral lejjebb mozgás
egy sorral feljebb mozgás
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 |
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ó:
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 http://www.truth.sk/vim/vimbook-OPL.pdf címen található egy, a vim-ről szóló könyv.
A vim projekt weboldalán (http://www.vim.org) mindenféle hírek, levelezőlisták és egyéb dokumentumok találhatók.
Egy sor vim-forrás elérhető az Interneten: http://www.selflinux.org/selflinux/html/vim.html, http://www.linuxgazette.com/node/view/9039 és 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 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ó. |