A LinuxPortál bemutatja: GNU Emacs apéritif

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.