Hlavní navigace

Emacs: viac než len editor

Stanislav Kuchár

Editorov existuje veľká kopa. Každý používa nejaký editor, pretože takmer všetko sa v UN*Xe odohráva v textových súboroch: konfigurácia, skripty, programovanie... Otázkou je - ktorý editor? Poďme sa pozrieť na jednu z možností: emacs.

Hneď na začiatku by som chcel zdôrazniť, že tu nechcem vyvolávať búrku vášní a diskusií o tom, ktorý editor je lepší a prečo. Je to vždy na každom jednotlivom užívateľovi, čo si zvolí a čo mu viac vyhovuje. Radil by som každému, aby si vykúšal viacero editorov, dal im šancu, a potom si vybral ten pravý. Ja sám používam emacs, vim, zile a niekedy i joe. Aj keď emacs hrá prím, sú prípady keď dám prednosť inému editoru.

Začneme tak trochu od podlahy, aby aj si tí, čo s emacsom nemali ešte do činenia, mohli skúsiť o čom je reč. Ale určite aj skúsení emacsáci si nájdu niečo, čím by si obohatili svoje znalosti a spríjemnili prácu s týmto editorom.

Čo je to emacs?

Jednou vetou povedané: „Emacs je rozširovateľný, prispôsobiteľný, sám seba dokumentujúci editor zobrazujúci v reálnom čase.“ (Emacs is the extensible, customizable, self-documenting real-time display editor.)

Takže v prvom rade emacs je editor. Môžeme v ňom editovať text. Ale každý si pod editovaním textu predstavuje niečo iné. Môže to byť email, alebo diplomová práca so zložitými matematickými vzorcami, program v jazyku C, Java alebo Python. Podobne to môže byť shellovský skript, web stránka v HTML, makro či podprogram v Emacs Lisp-e, SQL príkazy pre databázu. Tam to však nekončí, práve naopak len začína: textom je aj Makefile (súbor na automatické updatovanie kompilovaných programov), unixovské manuály, Texinfo súbory, atď.

Pri editácii spomenutých typov súborov vám emacs pomôže malými i veľkými pomôckami:

  • Pri programoch a vôbec všetkých štrukturovaných textoch zvýrazní syntax: ofarbí funkcie, kľúčové slová a premenné rôznymi farbami. Priamo v emacse si možno prezerať manuálové stránky, napísané programy si dať skompilovať: emacs vám ukáže riadok, kde presne našiel kompilátor chybu, nájde funkciu, ktorá je zakopaná niekde v množstve zdrojových súborov.
  • Stáva sa vám, že často opakujete nejaké operácie – makrá vám určite uľahčia život. Sú podstatnou súčasťou emacsu, veď to má aj v mene: emacs.
  • Napísané texty si môžete dať pravopisne skontrolovať (k dispozícii je niekoľko jazykov, z ktorých najpoužívanejší je samozrejme angličtina).
  • Podpora slovenčiny a češtiny je dnes už úplnou samozrejmosťou.
  • Web stránky si môžete nielen zeditovať, ale aj pozrieť v plne funkčnom textovom web browseri.
  • Textový file manager na vylistovanie obsahu adresára na lokálnom počítači, alebo hoci aj na vzdialenom ftp serveri – tiež žiaden problém.
  • Nechce sa vám prepínať do iného okna len kôli tomu aby ste zistili kto je prihlásený? Stačí spustiť shell do okna emacsu a príkaz napísať rovno tam.
  • A keď si neviete s niečím rady, kľudne môžete o radu popýtať niektorého svojho priateľa: emailom alebo cez irc – aj to priamo z emacsu.

Všetky spomenuté veci sa k uživateľovi snažia správať čo najprívetivešie. Bodaj by nie, veď v súčasnosti sa používa už 20. verzia tohto programu. Ale každý užívateľ si môže upraviť svoje prostredie podľa seba. Proti gustu žiaden dišputát. Preto je jednou z charakteristík prispôsobiteľný (customizable).

Celý editor je napísaný v jazyku Emacs Lisp, čo je dialekt Lispu, pradedka medzi jazykmi. (Len niekoľko najnižších funkcií je napísaných v jazyku C.) Toto je obrovská výhoda, ktorá umožňuje hocikomu napísať rošírenia či vylepšenia editora, preto rozširovateľný (extensible).

A čo to znamená sám seba dokumentujúci (self-documenting)? Každá funkcia, každá klávesová skratka je popísaná v rozsiahlej dokumentácii, ktorá je neodeliteľnou súčasťou tohto editora.

A napokon prečo editor zobrazujúci v reálnom čase? Dnes je už takmer zbytočné prehlasovať, že editor zobrazuje text, ktorý editujeme, ako aj zmeny ktoré prevádzame, ale v časoch keď počítače neboli až také rýchle a prefíkané, sa editovalo editormi ako ed, pre ktoré to bolo niečo neslýchané…

Po tomto všetkom sa už určite nebudete čudovať prečo jedna z ikon pre tento program je kuchynská linka (kitchen sink). Celé jedlo (text) nielen do hrnca (súboru) naukladáte (napíšete), pokrájate (cut&paste), ale ho aj uvaríte (skompilujete), skonzumujete ho (shell) a nakoniec tie hrnce a nožíky dočista poumývate a odložíte (exit). A celé si to môžete dokonca zautomatizovať na stlačenie jedného klávesu.

Tak čo? Už mi veríte, že emacs nie je len editor? Nabudúce si povieme ako ho nainštalovať a aj prvých pár užitočných klávesov.

Zopár emacsových liniek

Našli jste v článku chybu?