SPACEHAWKS' WORLDNEWS
ISSUE 20


SZÖVEGSZERKESZTÕK

BEVEZETŐ

Ez egy némileg rendhagyó cikk abban a tekintetben, hogy nem annyira Amigás szövegszerkesztőkről lesz szó, mint egy konkrét editorról, amely gyakorlatilag minden platformon elérhető. Elég sokfélével volt szerencsém dolgozni különböző platformokon: Amigán CEd és GoldEd, OS/2 alatt MED és FTE, Linux alatt joe, Emacs és FTE, Windows alatt pedig szintén MED, FTE valamint a Visual Studio (khm) editora. Mindegyiknek vannak előnyei és hátrányai, a legjelentősebb számomra a különbözőségük volt: a munkahelyemen MED-del, OS/2-n eltöltött órák után sokszor ültem értelmetlen tekintettel Amigám előtt, hogy miért is nem másolta át a GoldED azt a kib*#? blokkot ctrl+c/ctrl+v billentyűkombinációra? Sajnos ez a nehéz felfogásom számlájára írható bosszantó eset egyre sűrűbben ismétlődött ahogy több platformmal is megismerkedtem, és nagyon lelassított, mert kizökkentett az aktuális gondolatmenetből... Ez a helyzet akkor vált tarthatatlanná, amikor OS/2 után Linux alatt kellett programoznom a munkahelyemen, aholis nem állt rendelkezésre az addig használt MED, így -- egy Amiga emulátor plusz GoldED összeállítású elvetélt próbálkozást követően -- új editor után kellett néznem, mindez kb. egy éve történt.

Három programot találtam, amelyek elfogadhatónak tűntek tulajdonságaik alapján. Fontos volt hogy ingyenes legyen a program (majd pont Linuxra veszek programot, mi?), valamint elfogadható támogatást nyújtson a C/C++-os fejlesztéshez: könnyen lehessen navigálni a forráskódok között (pl. ne nekem kelljen tudni, melyik könyvtárban/filéban van egy adott függvénydefiníció, "tudja" ezt az editor), lehetőleg ismerje azokat a nyelveket amelyekre szükségem lehet, vagy már ismerek (akkoriban ez kb. C/C++, List, PHP, HTML), és tudja a manapság már alapvetőnek számító szintaxis megjelenítést (vagy hogyishíják a syntax highlightingot magyarul?). (Mindig csodáltam a CEd-ben programozó embereket, én nemigen lennék képes PHP-t úgy szerkeszteni, mint Lay... Igaz ő nem ma kezdte a szakmát.) Ezen igényeknek az Emacs, az FTE és a Vim tűnt csak alkalmasnak. (Próbálkoztam ezek előtt még pár Linuxos IDE-vel, de ezek jobbára csak a nevetés és sírás hisztérikus egyvelegét tudták kihozni belőlem jobb esetben.)

Először a Vim tetszett legjobban: annak volt a legszebb ikonja. (Nemhiába mondják hogy fontos a csomagolás.) Egész kultúrált felhasználói interfészével fogadott, a gond csak az volt vele, hogy bármilyen bilentyűt ütöttem is le, csak bipelni tudott tőle a gép. Lévén hangkártya hiányában fel sem merült bennem, hogy PC-s zenészként tengetem hátralévő napjaimat -- nem is beszélve muzikális antitálentumomról --, maradtam hát a program az ablakzáró gombjánál. (Ez, nagy megkönnyebbülésemre az elvárásaimnak megfelelően működött.)

Aztán következett az Emacs. Ez az editor a Unix legnépszerűbb feljesztői környezete. Itt a problémám az volt, hogy ez a program annyira összetett, hogy teljesen elvesztem benne. Ekkor még nemigen tudtam elképzelni hogy egy ilyen összetett alkalmazást különféle text filékba irkálással konfiguráljak, ahogy azt az Emacs-ban tenni kellett, így erről is le kellett mondanom. Az igazsághoz hozzátartozik, hogy az Emacs-hoz csakis nagyon komolyan célszerű nekiállni -- már nálam okosabb emberek szerint --, lévén a konfigurálása is komoly programozói feladat. (Olyannyira, hogy az Emacs-hoz képest a többi platform "programmer's editor"-a gyakorlatilag nevetséges.)

Maradt az FTE, amellyel annyira elégedett voltam, hogy fontolgattam, érdemes-e portolni Amigára (Eme, ne röhögj). A forráskód azonban korszerű C++ volt, így megfelelő fordító hiányában elég reménytelen próbálkozás lett volna. Inkább átkonfiguráltam a GoldED pár funkcióját az FTE-nek megfelelően, így már minden platformon teljesen hasonló szerkesztővel dolgozhattam. Annyira tetszett, hogy minden Linux alatt dolgozó emberfiának ezt javasoltam még tiggris-nek is (mint az köztudott, a tiggris-ek tudnak legjobban kérdőjelet írni).

Sajnos azonban az FTE hátrányai is hamar megmutatkoztak, legkevésbé a nehézkes konfigurációja zavart: nem tudtam semmiféle funkcióját átállítani a rögzített billentyűzetkiosztás miatt, így csak a Shift+kurzormozgatás maradt, ami ugye Amigán elég kényelmetlen -- főleg VF billentyűadapterrel. Hiányzott a bevált Amigás típusú kijelölés, a CEdből ismerős Amiga+b kombináció is. Lévén szövegblokkok mozgatása az egyik leggyakrabban használt funkció programkódok (át)írkálása esetén, a kijelölés különbözősége igen zavaró volt továbbra is.

Ha jól emlékszem, javasoltam is anno Valenta Ferinek hogy módosítani kéne a PC billentyűzet illesztőjét úgy, hogy az Amigáson nem, csak a PC-s billentyűzeten létező gombok (PgUp, PgDn, Home, End, stb.) Shift+kurzor és társai helyett Amigán nem használt billentyűkódokat küldjön, így egy megfelelő driver segítségével (de esetleg még enélkül is) megoldható lett volna pl. GoldED-ben hogy egyszerre működjön pl. a PgUp és a Shift-el történő kijelölés is. Egy commodity-vel meg szimulálható lett volna a jelenlegi működés is (PgUp->Shift+fel, Home->Shift+balra), csak épp konfigurálhatóan. Persze ez csak rendszer alatt működne, de máshol nincs is rajta szükség. Azonban mindez csak az én személyes agyrémem volt, fel sem merült hogy esetleg megvalósul ez a dolog.

Szóval eléggé le voltam lombozódva, csalódtam az összes eddig használt editorban. Ez igen komoly probléma egy olyan ember esetében, aki programozónak vallja magát, így bármilyen engedményre kész voltam, hogy megtaláljam a megfelelőt. Egyik Linuxos ismerősömnek elmeséltem sirámaimat, aki a Vim-mel kapcsolatos megjegyzéseimre valahogy így felelt levelében:

"Igen? A vi szar, mert tanulni kell?... Szelavííí"

Nahát több sem kellett nekem. Rosszul nem járhattam vi ismeretekkel, legrosszabb esetben alapos okom lesz eme program fikázására -- melyet eddig a szükséges ismeretek hiányában nemigen tehettem. Körülbelül ezóta vallom magam Vim felhasználónak.

Persze a program kezelésének elsajátítása nem ment öt perc alatt. Ennyi idő alatt kb. a kilépést meg a help-be történő belépést sikerült elsajátítani. Mondjuk ez nem volt nagy turpisság, hiszen ezek induláskor megjelennek a képernyőn -- bár egy Emacs típusú szövegszerkesztőhöz szokott felhasználónak már ez is fejfájást okozhat. Ha ugyanis : karakterrel lehet parancsokat adni a szövegszerkesztőnek, akkor hogy lehet : karaktert írni?! Kb. ilyen kérdések merültek fel bennem akkortájt. A rejtély megfejtéséhez nézzük meg a lyukkártyás időszak után megjelent szövegszerkesztők típusait. Három fő kategória van, ezek:

  • ed
  • vi
  • Emacs

NÉMI SZÖVEGSZERKESZTŐ-TÖRTÉNELEM

Az ed volt az egyik első editor, amelyet szélesebb körben használtak a gépek memóriájában lévő forráskód szerkesztésére. Ez a program akkortájt volt használatban, amikor a még a mainframeken igen drága volt a gépidő a programozó idejével szemben, és ennek megfelelően igen egyszerű és igénytelen programocska volt: különbözö parancsokkal vezérelhetjük, mint pl. listázz ki az xy sorokat, az aktuális sortól törölj x sort, vagy az aktuális sor elé szúrd be a következőkben megjelenő promproknál megadott szöveget. Lévén sor-orientált szerkesztő volt, egy sorban szereplő hiba nagy valószínűséggel azt jelentette, hogy az egész sort le kellett cserélni. (Akkoriban még inkább nyomtatót használtak elsődleges kimeneti egységként, nem pedig monitort mint manapság -- így fejlettebb szerkesztési lehetőség nemigen volt.) (Hasonló dologgal találkozhatunk a SEKA assemblerben Amigán... de lehet hogy az utódok -- AsmOne, AsmPro -- is tartalmazzák még ezt az editort. Az assembler promtjába, ahova normális esetben csak a betöltésre, fordításra szolgáló parancsokat adjuk ki, beírhatunk ed parancsokat is). Ez az editor testesíti meg leginkább a UNIX minimalista filozófiáját (mindig a legcélszegűbb, legegyszerűbb programot használjuk az adott feladatra; avagy egy program nem akkor tökéletes ha már minden lehetséges funkciót hozzáadtunk, hanem akkor, ha már nincs semmi amit elvehetnénk belőle úgy, hogy a funkcióját maradéktalanul ellássa). Az interfésze azonban olyannyira kényelmetlen és nehézkes, hogy egyedül talán Ken Thompson vallja magáról azt, 1985 óta folyamatosan ed-et használ szövegszerkesztésre. (Bár széles körben elterjedt gyanú szerint Ken csak viccel.)

A vi (ejtsd: "ví áj", és nem "vi") és klónjai a népszerűség tekintetében fej-fej mellett halad az Emacs-sal, bár a vi alkalmasabb kisebb szerkesztési feladatokra mérete és kisebb memóriaigénye miatt. A legjobb vi klón népszerűség és bővíthetőség tekintetében a Vim (Vi IMproved), mely jelenlegi 6-os verziója befejezettnek tekinthető: annyi funkció van már benne, hogy valószínűleg nincs ember aki mindet használná. Ez már "vizuális" editor (erről kapta nevét is). Itt már nincs állandó prompt, ahova a parancsokat írjuk: ezeket "látatlanul" írjuk be, és jobbára azonnal végrehajtódnak. Itt jelent meg a ma ismeretes kurzor is, mely meghatározza a kiadott parancsok végrehajtásának helyét. Nem kell megijedni, ugyanis a legtöbb parancs egy karakteres lévén nem is igen igényel megerősitést. A legtöbb parancs paraméterezhető a parancs kiadása előtt beírd számmal: pl. az 'x' parancs karaktereket töröl, így ha 10x-et írunk be, 10 karakter fog törlődni úgy, mintha egy "normál" editorban a del-t nyomnánk meg 10-szer. A Vim-mel kapcsolatban egy érdekesség, hogy készítője, Bram Moolenaar Amigán írta az első verziót egy régi Amigás vi klón alapjain, és csak később került át a program UNIX/Linux, Dos, Windows, OS/2, BeOS, stb. platformokra. Másik jópofa dolog, hogy a DOS és Windows verziók mind a "pc" könyvtárban csücsülnek -- dehát a kettő ugyanaz, nem? A fentiekből következik, hogy "alapból" a vi-ban nem tudunk szöveget beírni/átírni, hiszen minden egyes karakterhez egy parancs van rendelve. Persze ez így nem igaz, mivel tucatnyi parancs van insert módba történő átlépésre, ahonnan szövegünk beírása után az Esc lenyomásával juthatunk vissza parancs (vi terminológia szerint normál) módba. Az alap vi nagy előnye, hogy minden UNIXon megtalálható, míg a Vim gyakorlatilag minden ma használatos operációs rendszeren. Ellenzői azt szokták felróni neki, hogy idejétmúlt, és hogy nem igazán célszerű Ennyi gondolom elegendő az alapvető különbségek észrevételéhez, kicsit bővebben lentebb írok a Vimről.

A harmadik csoportba tartoznak az Emacs és hasonmásai, gyakorlatilag ezek teszik ki a ma használatos editorok nagy részét a UNIXon kívüli világban. Az eredeti változatban a Ctrl és valamelyik alfanumerikus billentyű (esetleg több billentyű ritkábban használt funkciók esetében) szolgált kurzormozgatásra és parancsok bevitelére, lévén az editor mindig "insert" módban volt. Ma már persze minden billentyűzeten megtalálhatók a kurzorbillentyűk, pár Emacs-ról származó billentyűkombinációt, mint pl. a Ctrl-X, a Ctrl-C, Ctrl-V mindenki ismeri. A cikkem elején említett editorok így többé-kevésbé mind Emacs utánzatoknak tekinthetők. Fontos megjegyezni, hogy az Emacs sokkal több, mint egy editor, leginkább csak UNIX alatt programozóknak célszerű foglalkozni vele. Összetettségét jól szemlélteti az egyik Vim szlogen: jó program az az Emacs, csak egy baja van: hiányzik belőle egy jó editor, ezért én Vimet használok. Az EMACS tulajdonképpen az IDE UNIX-os megfelelője. UNIX-on nem terjedtek el a már platformokon megszokott IDE-k (Integrated Developer Environment, Integrált Fejlesztői Környezet), mivel ezek csak "eszközszegény" környezetben használhatók hatékonyan: nem sok IDE van amely több igen eltérő nyelvet is támogat. A UNIX filozófiája ezzel szemben az, hogy minden feladatra a legalkalmasabb ezközt használjuk, így egy egyszerűbb projectnél is előfordulhat, hogy 4-5 programozási nyelvet célszerű használni. (Hiszen ha valamit 3 sorban megírhatunk perlben, butaság arra C programot eszkábálni.) Ilyen összetett szerkesztési feladatra csak egy maximálisan konfigurálható editor alkalmas csak igazán, ezt az igényt az Emacs saját beépített nyelvével, a E-Lisp-el képes nyújtani. Gyakorlatilag nincs két ugyanúgy működő, aktív használatban lévő Emacs, hiszen minden komoly Emacs felhasználó maga "rakja össze" Emacs-át az interneten fellelhető Lisp programokból. Éppen ezért ezt a programot (még?) nem ismerem, lévén UNIX alatt még nem állt módomban olyan munkát végezni, ahol az Emacs előnye megmutatkozott volna -- és időm sem volt rá, mivel hatékony használatát elsajátítani csak hetek, hónapok alatt lehet...

Egy igazán sokoldalú UNIX fejlesztő mindkettőt jól ismeri, és mindig a feladatnak inkább megfelelőt használja. A Vim-et és az Emacs-ot preferálók tábora UNIX alatt kb. 50-50%, a többi elenyésző. (Sajnos én már találkoztam olyan BSD rendszergazdával, aki nem rakta fel a vi-t.) Persze itt nem az alkalmi UNIX felhasználókról beszélek, nekik jobban megfelel a joe vagy a pico kis méretük és az egyéb platformokon fellelhető editorokkal való hasonlóságuk miatt.

Mind az Emacs, mind a vi felhasználói táborának vannak fanatikus megszállottjai. Fanatikus Emacs felhasználók szerint a vi egy merev és primitív játékszert, amely alkalmatlan komoly szerkesztési munkálatokra. Fanatikus vi felhasználók szerint az Emacs túl komplikált, lassú és kövér ahhoz hogy egy értelmes emberi aggyal használhatónak mondható legyen.

EGY RÖVID VIM ISMERTETŐ

Mint már említettem, mostanában szinte minden szövegszerkesztési munkára Vim-et használok Amigán, Linuxon, de még a Windows-os Visual Studio-ban is (csókoltatom azt, aki ezt lehetővé tette). Általában normál szöveget, batch fájlokat, C, C++, perl, PHP és Python programokat, valamint HTML-t és XML-t szerkesztek vele. Természetesen ezek szintaxisát mind ismeri, valamint helyenként olyan nyelv-függő funkciókat is nyújt mint pl. "ugorj a következő eljárásra".

Mint fentebb említettem, a Vim legfőbb furcsasága abból ered, hogy az editor azonos billentyűkre különbözőképpen reagál az aktuális üzemmódtól függően. Nem kell megijedni, hiszen alapvetően csak két mód van:

  • normál mód: itt parancsokat adhatunk, pl. a 'o'-t leütve az aktuális sor alá beszúródik egy üres sor, és insert módba kerülünk, ahonnal Esc-el léphetünk vissza.
  • beszúrás (insert) mód: ez felel meg egy "Emacs-típusú" szövegszerkesztőnek, azaz amit itt begépelünk, az ténylegesen beíródik a szövegbe.

A teljesség kedvéért megemlítem a Vim 6-os verziójának egy újítását, az "Easy" módot: ebben a változatban (tulajdonképpen ez egy indítási opció) a program állandóan beszúrás (insert) módban van, nem is lehet normál módba kilépni. Ezt a módot én nem ismerem, lévén én a Vim-et pont a két üzemmódja miatt kedvelem: míg más editorokban állandóan hadonászni kell a kurzor- és alfanumerikus billentyűzet között, a Vim-ben a kurzormozgató gombok egyből ott vannak a jobb kezem alatt, arról nem is beszélve, hogy a sorban levő h, j, k, l gombokkal kényelmesebb is navigálni, mint a szokásos fordított-T elrendezésű kurzorbillentyűkkel.

Ez annak köszönheti létjogosultságát, hogy a Vim-ben rendesen működnek a kurzorbillentyűk (normál és beszúrás módban is), azaz kezdők is használhatják azonnal, a normál mód funkcióit később, fokozatosan el lehet sajátítani. A legfontosabb funkciók normál módban tehát:

  • Az 'i' gombot lenyomva léphetünk át beszúrás módba, ezt az ablak alján megjelenő "-- INSERT --" felirat jelzi. Innen az Esc leütésével léphetünk vissza normál módba.
  • A ':' gombbal adhatunk ki ex parancsokat, pl. innen vezérelhetjük a betöltést és a kimentést. Ezek közül a lényegesebbek:
:w Aktuális puffer kimentése
:q Kilépés aktuális pufferből
:qa Azonnali kilépés Vimből (mentés nélkül)
:wq Aktuális puffer kimentése és kilépés

Ezekkel az ismeretekkel a Vim-et korlátozottan bár, de használhatjuk szerkesztésre. A program használatához a Vim 5.7-es letöltését ajánlom az ftp.vim.org, ftp.de.vim.org, stb. szerverek valamelyikéről, az Amigás verziók a /pub/vim/amiga könyvtárban vannak. A vim57bin.tgz és vim57rt.tgz file-okra lesz szükség (nameg untar-ra, ha még nem lenne), a vim57src.tgz a forráskód -- erre nem lesz szükség. Már platformon a Vim 6.0-t ajánlom, de ennek az Amigás verziója még eléggé fejlesztés alatt áll, így nem javaslom senkinek. Az 5.7-es csak konzolban fut, de a 6.0 várhatóan már saját ablakban vagy akár képernyőn is használható lesz.

Mivel én nem akarok egy külön shell-t indítani csak azért, hogy Vim-et futtassunk benne, csináltam neki egy indító ikont. Átmásoltam a CLI ikont Vim néven, és átállítottam az ikonját a Vim disztribúcióban talált 16 színű ikonra. A tooltype-okba ezeket írtam:

WINDOW=CON:100/60/520/400/Vi Improved/SHELL
STACK=65536
FROM=S:Vim-Startup

(Stack nem tudom hogy kell-e neki, de azért beállítottam 64k-ra a biztonság kedvéért. A Window sorban azért nem adtam meg a CLOSE opciót, mert a konzolos Vim úgysem tud vele mit kezdeni az egérrel. Sebaj, majd a GUI-s verzió tudni fogja... bár egy jó editorhoz úgysem szükséges egér -- én sosem használom. Továbbá a Window sorban CON: szerepel egységként, ez azért van így, mivel a Vim-nek ez tökéletesen megfelel, a Shell-ekhez használatos spéci konzolok -- KingCON, ViNCEd -- maximum összezavarják, más hasznuk nincs.)

Íme az S:Vim-Startup fájlom tartalma:

; belepunk a gyakran hasznalt konyvtarunkba
CD Data:Home
; editor inditasa
Apps:Productivity/Vim/Vim57/Vim
; kilepunk a shellbol
EndCLI >NIL:

No, ha mindez megvan, akár el is indíthatjuk. Ha mindent a megfelelő helyre raktunk (a vim??rt.tgz tartalmát is), akkor az ikonra kattintva a bejelentkező képernyő jelenik meg. Itt láthatjuk a fentebb tárgyalt, kilépésre használható funkciót, valamint némi segítséget a helpbe történő belépéshez. Mivel ikonról indítottuk a programot, szükségünk lesz egy új parancsra, ami a betöltést végzi. Ez a ':e' (edit). Írjuk be a bemutatkozó képernyőn:

:e S:Startup-Sequence

Persze a gyakorlatban elegendő kb. annyit beírni, hogy ":e S:Sta", majd a Tab nyomogatásával kiválasztani a szükséges fájlt. Némileg szokatlan, de garantáltan gyorsabb módszer a nem két ujjal gépelők számára. (Az egyelőre Amigán nem elérhető GUI-s módban a megfelelő buttonra kattintva vagy menüpont kiválasztva van normál fájlválasztó is.)

(Persze nem árt biztonsági másolatot készíteni, mivel a Spacehawks nem vállal felelősséget az esetleg tönkretett rendszerekért.)

Itt a kurzorbillentyűkkel már rendesen navigálhatunk, de ne feledjük hogy normál módban van az editor alapértelmezés szerint. Bizonyos gombok lenyomása ilyenkor igen destruktív lehet, ezért álljon itt két normál módban használható funkció:

u undo
Ctrl- redo

Fontos, hogy a kis és nagybetűkhöz különböző funkciókat rendeltek, erre oda kell figyelni. Ha be akarunk írni valamit, a legegyszerűbben az 'i' gombbal léphetünk beszúrás módba. Ha végeztünk, Esc normál módhoz, majd ':qw' a fájl kimentéséhez és kilépéshez. Ha módosítottuk a fájlt, már nem tudunk a ':q'-val kilépni, mivel a Vim figyelmeztet hogy akkor elvesznének a módosításaink. Általában igaz, hogy a ! karakterrel erősíthetjük meg a parancsot, azaz pl:

:q! Kilépés, esetleges módosítások elvesznek
:w! Read-only-ként betöltött file kiírása (már ha a rendszer engedi)

Ha megismerkedünk a normál mód kurzormozgató gombjaival, akkor elvileg bármilyen rendszeren tudunk szövegfájlt szerkeszteni. Ezek:

h balra
j le
k fel
l jobbra

Ezekre azért lehet szükség, mert régebbi rendszereken csak sima vi van, ahol esetleg nem működnek a kurzorbillentyűk, vagy esetleg régebbi terminálprogramot használunk, amelyben nem értelmezettek a kurzorbillentyűk.

Mégegyszer a legfontosabb billentyűk:

i, Esc beszúrás mód, normál mód
h balra
j le
k fel
l jobbra
u undo
:qw mentés és kilépés
:q! kilépés mentés nélkül
:w! mentés
:e xy fájl betöltése

Ennyi már elég az elinduláshoz. Ha valakit komolyabban érdekel a dolog, könnyedén találhat további információkat a helpben és az interneten is. Vannak magyar nyelvű erőforrások is, ezek a http://www.vim.org és http://vim.sf.net címekről is elérhetők, de engem is kérdezhettek bátran az #amigahu-n vagy az attis@maugli.matavnet.hu címen.

Néhány további funkció, amelyekre csak később jöttem rá:

v "visual" mód, magyarul kijelölő üzemmód, a CEd Amiga+b-jének felel meg
y "yank": visual mód után használandó, a copy (CEd Amiga+c) megfelelője
d "delete": visual módban, a kivágás (CEd Amiga+x) megfelelője
p "paste": kimásolt vagy kivágott blokk beillesztése
<,> visual módban blokk mozgatása 1 tabbal befelé/kifelé
. előző szerkesztési művelet megismétlése az aktuális pozícióban
{,} ugrás előző és következő bekezdésre
[[,]] ugrás előző és következő funkcióra
/<txt> keresése
n előző keresés ismétlése

És még sorolhatnám, dehát épp erre van a Vim beépített helpje. Ugyan a Vim sok funkcióját ismerik más editorok is, de az összeset -- tán az Emacs kivételével -- aligha. Minél összetettebb feladatokra hasznájuk az editort, bár ehhez el kell távolodni a "ha nem tudom a billentyűkombinációt, megnézem a menüben" hozzáállástól. Mióta Vim-et használok, GoldEd kifejezetten primitívnek tűnik, pedig annak már van pár funkciója, már csak a menürendszerét átnézve is. De ez látszik abból is, hogy míg a 300k-s GoldEd jó része GUI kód, addig a big Vim 480k GUI nélkül. (Azért "big", mert minden Amigán rendelkezésre álló funkció bele van fordítva. A befordított opcionális funkciókat a :version paranccsal nézhetjük meg Vim-ből.)

Ugyan hétvégi szövegszerkesztőknek nem ajánlanám (azért azok a menük hasznosak néha... bár a Vim GUI-s verziójában benne lesz ez is), de aki napi 1-2 órát vagy többet tölt szövegszerkesztéssel, az nem veszíthet semmit, ha rászán pár délutánt a megismerésére.

EGY VIM SCRIPT: MAGYAR KARAKTEREK

Én időm nagy részében angol billentyűzettel dolgozom, így általában problémát jelent a magyar ékezetes karakterek gépelése. Ugyan Amigán megoldható ez az Alt+F, Alt+H, Alt+J és Alt+H után gépelt a, e, i, o, u betűkkel, de ez egyrészt máshol nem működik, másrészt -- szerintem -- elég kényelmetlen. Ezért próbaképpen csináltam egy Vim scriptet, amely lehetővé teszi az ékezetes betűk "repülőékezettel" történő írását, pl. az a majd ' karaktereket beütve á betű jelenik meg. A dolog használhatónak bizonyult, azóta magyar nyelvű szöveg gépelésére ezt használom. Íme a script:

" This vim script allows writing
" Hungarian accented letters with flying accent.

imap a' á
imap e' é
imap i' í
imap o' ó
imap o: ö
imap o" ő
imap u' ú
imap u: ü
imap u" ű

imap A' Á
imap E' É
imap I' Í
imap O' Ó
imap O: Ö
imap O" Ő
imap U' Ú
imap U: Ü
imap U" Ű

Ezt a $VIM könyvtárba célszerű pakolni magyar.vim néven: ez az a könyvtár, ahol az alap vimrc file van, amely a személyes beállításainkat tartalmazza. (Ez UNIX-ok alatt nem igazán oldható meg, ott talán a ~/.vim/magyar.vim fájlnév ajánlható.) Ilyen vim script fájlokat a :source (rövidítve :so) paranccsal hajthatunk végre:

:so $VIM/magyar.vim

 

Attis

 

 

 

 
Copyright 2001 SpaceHawks
GLOBAL LINKS DOWNLOAD AREA MESSAGE BOARD