A nyÃlt forrású technológiákat bemutató LinuxPortál tévéműsor 344. adásában lehetÅ‘ségem nyÃlt áttekintést nyújtani a GNU Emacsról. Az elÅ‘adás célja egy átfogó kép kialakÃtása volt. Várhatók további Emacs tárgyú bemutatók a jövÅ‘beni adásokban.
For the English-readers out there, I gave a talk in the hungarian TV programme LinuxPortál focused on open source technologies. I showed off the main features of GNU Emacs. In the future, there’ll be more presentations on specific areas of Emacs.
Az alábbiakban az előadás kivonatos tartalma olvasható.
‘Presenting Emacs as an editor is analogous to presenting mathematics as arithmetic.’ (Mike Mattie az emacs-devel-en)
Az Emacsot csupán szövegszerkesztőként aposztroválni annyit tesz, mint a matematikát csupán aritmetikának tekinteni. Az Emacs egy összetett keretrendszer. Hogy miként nevezzük, az leginkább attól függ, milyen feladatokra használjuk. Az Emacsra tekinthetünk úgy, mint szövegszerkesztő, táblázatkezelő, webböngésző, képnézegető, PDF-olvasó, zenelejátszó, határidőnapló, fejlesztőeszköz, fájlkezelő stb. Ha ennyi minden az Emacs, akkor valójában mi az Emacs?
‘You think that Emacs is not a text editor, but a fucking operating system with a built in kitchen sink, and a circus tent.’
A GNU Emacs Richard M. Stallman által Ãrt általános célú szövegeditor. Szövegeditor, hiszen az esetek többségében információkat dolgozunk fel: szöveget Ãrunk, olvasunk, szerkesztünk. Az Emacs funkcionalitásának nagy része Elisp (Emacs Lisp) programozási nyelvben Ãródott. Elispben lehetséges az Emacs testreszabása, tudásának tetszÅ‘leges bÅ‘vÃtése, vagy akár a számunkra nem kielégÃtÅ‘ funkciók újraÃrása.
Az Emacsot úgy a legérdemesebb el kezdeni használni, hogy elkezdjük használni. A program alapvetÅ‘en billentyűorientált (Ãgy érhetÅ‘ el a használatával nagy fokú hatékonyság), de a fÅ‘bb funkciókat grafikus felületű menüszerkezetben egérrel is elérjük (ez kiváltképp a tanulási idÅ‘szakban hasznos).
Az Emacs fontosabb billentyűkombinációi – lévén GNU termék – egybevágnak a standard GNU kiosztással (bash, most, screen, nano és a többiek). Az Emacs saját gyorsbillentyűinek utánanézhetünk beépÃtett súgójában, de valamennyi menüpont mellett is fel van tüntetve a billentyűkombináció. A késÅ‘bbiekben az Emacs fölötti teljes uralom elnyeréséhez célszerű elsajátÃtani az Elispet. Maga az Emacs konfigurációs állománya (.emacs vagy dotemacs) is Elisp nyelvű. A GNU billentyűkombinációk elsajátÃtása a jövÅ‘ben sokszor vissza fog köszönni, hiszen hogy messzire ne menjünk, a Linux-disztribúciókkal érkezÅ‘ alapértelmezett Bash shell is támogatja azokat. Emellett bizton számÃthatunk rá, hogy ahol a GNU jelzést látjuk, használni tudjuk majd ebbéli tudásunkat.
A legtöbb szövegszerkesztÅ‘ nem kényszerÃt rá a helyes editálási magatartásra, használatuk rossz megszokásokat kölcsönöz. Okos eszközök – mint az Emacs vagy a Vim – használatával hatékonyabbá tehetÅ‘ a munkafolyamatunk. A rendszeresen ismétlÅ‘dÅ‘, monoton (mondhatnók unalmas) részfeladatokat célszerűnek tűnik rögzÃteni, nem csak az aktÃv munkafolyamatra, hanem jövÅ‘beni felhasználásra is. Az Emacs egyszerűen teszi lehetÅ‘vé ún. makrók rögzÃtését, lejátszását, módosÃtását, vagy akár programozott Ãrását.
Az Elisp egy Lisp dialektusú programozási nyelv kifejezetten Emacshoz. A Lisp bÃr valamennyi nyelvi ismérvvel és támogatja azon módszertani technikákat, amellyel a modern programozási nyelvekben és azok fejlesztése során találkozhatunk. Ha soha nem is válik belÅ‘lünk kiváló Lisp programozó, olyan szemléletbeli újdonságok birtokába jutunk, amelyeket más nyelvű fejlesztések során is kamatoztatni tudunk. Mint emlÃtettem, az Emacs javarészt Elisp nyelven Ãródott, abban tetszÅ‘leges funkciókkal bÅ‘vÃthetjük. Nem véletlen az a szólás, hogy az Emacs-használók az Emacsban „élnek”, lehetÅ‘ség szerint nem hagyják el annak felületét soha, hiszen minden feladat megoldható benne.
Az Emacsot használat közben a legegyszerűbb megtanulni, Ãgy kezdjük is el már most! Egyaránt indÃtható szöveges és grafikus felületű változata, valamint a tanulási szakaszban bátran használhatjuk az egeret, amÃg megismerjük, megtanuljuk az egyes fogásokat.
A GNU Emacs nyÃlt forrású, GPL licenc alatt, a legtöbb operációs rendszer alá elérhetÅ‘ eszköz. BeépÃtett angol nyelvű súgót (C-h r) és oktatóleckét (C-h t) tartalmaz. Minden billentyűparancstól megtudható, hogy mit csinál (C-h m ). Az Emacshoz elérhetÅ‘ szolgáltatások tematikus gyűjteményét az online EmacsWiki-ben találhatjuk meg. A 2008. szeptember 13-án esedékes Ubuntu Konferencián Horák Györggyel Emacs és vim fej fej mellett cÃmmel tartunk elÅ‘adást.