- p°edchozφ Φlßnek - nßsledujφcφ Φlßnek - obsah - ·vodnφ strßnka -

LinuxovΘ noviny Duben 1998

Emacs? Help! (3.Φßst)

Milan Zamazal, 7. dubna 1998

Hledßme program

M∙╛e se stßt, ╛e pot°ebujete provΘst n∞jakou akci, ale nem∙╛ete nikde v info dokumentaci najφt ╛ßdnou funkci, kterß by ji implementovala. To je╣t∞ neznamenß, ╛e pat°iΦnß funkce neexistuje, pouze se musφme poohlΘdnout n∞kde jinde, pravd∞podobn∞ ji bude implementovat n∞jak² elispovsk² program.

Prvnφ, co byste m∞li vyzkou╣et, je Finder. Vyvolßte jej p°φkazem C-h p, jen╛ vßm zobrazφ seznam tematick²ch oblastφ podle klφΦov²ch slov. Ka╛dß z t∞chto oblastφ obsahuje seznam program∙ z distribuce Emacsu, kterΘ majφ s dan²m tΘmatem co spoleΦnΘho. Pro ka╛d² takov² program si m∙╛ete nechat zobrazit struΦnou informaci o n∞m. Av╣ak pozor, ne v╣echny programy z distribuce Emacsu naleznete i ve Finderu, jejich p°φtomnost zde zßvisφ na zvolen²ch klφΦov²ch slovech.

Pokud jste sv∙j program ve Finderu nena╣li, zkuste se podφvat do FAQ (C-h F). Zobrazenß verze FAQ odpovφdß dob∞ vypu╣t∞nφ va╣φ verze Emacsu, nov∞j╣φ verze se obΦas objevujφ v diskusnφ skupin∞ gnu.emacs.help. Po FAQ lze pohodln∞ji prochßzet po provedenφ C-u 2 C-x $ (do normßlnφho re╛imu se vrßtφte p°φkazem C-x $). FAQ by m∞ly b²t nejenom zdrojem odkaz∙ na externφ programy, ale m∞li byste do nich nahlΘdnout v╛dy, ne╛ se budete na n∞co ptßt svΘho kolegy nebo v n∞kterΘ diskusnφ skupin∞.

Mßte-li i po prozkoumßnφ FAQ pocit, ╛e nevφte, kde sv∙j program hledat, znamenß to, ╛e jste je zkoumali mßlo. Jednou z otßzek, na kterΘ zde naleznete odpov∞∩, je toti╛ "How do I find a GNU Emacs Lisp package that does XXX?". V odpov∞di se dozvφte o existenci LCD (Lisp Code Directory) archφvu r∙zn²ch elispovsk²ch progrßmk∙. Dozvφte se takΘ, jak tento archφv ze svΘho poΦφtaΦe prohledßvat pomocφ LCD apropos.

Nep°φjemn²m problΘmem LCD archφvu je to, ╛e jenom pom∞rn∞ mßlo autor∙ elispovsk²ch program∙ svß dφla do tohoto archφvu zasφlß. Navφc za dobu jeho existence se v n∞m nakupila °ada program∙, kterΘ ji╛ nejsou dßle udr╛ovßny a tudφ╛ nevyu╛φvajφ mo╛nostφ nov²ch verzφ Emacsu. Tφmto nedostatkem naopak netrpφ newsovß skupina gnu.emacs.sources. Ta je autory r∙zn²ch balφk∙ a pom∙cek vyu╛φvßna daleko Φast∞ji ne╛ LCD archφv a vyplatφ se ji sledovat. Pozor, tato skupina je urΦena *v²hradn∞* pro zdrojovΘ texty a posφlat do nφ p°φsp∞vky neobsahujφcφ ╛ßdn² u╛iteΦn² elispovsk² k≤d nebo patch je obecn∞ velmi nevhodnΘ. Pro dotazy typu "Kde najdu XXX?" slou╛φ skupina gnu.emacs.help.

Pom∞rn∞ pozoruhodn² archφv elispovsk²ch progrßmk∙ jsou tiny tools. Jednß se o n∞kolik megabyt∙ k≤du, kter² vlastnoruΦn∞ napsal Jari Aalto. V╛dy, kdy╛ si autor pot°ebuje v Emacsu n∞co vylep╣it nebo do n∞j n∞co p°idat, vytvo°φ nebo roz╣φ°φ n∞jakou tiny pom∙cku a umφstφ ji do tohoto archφvu. Je tedy pom∞rn∞ pravd∞podobnΘ, ╛e zde naleznete °adu progrßmk∙, kterΘ se vßm mohou hodit. Tiny tools jsou k mßnφ na adrese ftp://cs.uta.fi/pub/ssjaaa/.

Jestli╛e jste program implementujφcφ hledanou funkci stßle nena╣li, zb²vß (krom∞ pou╛itφ webovsk²ch vyhledßvacφch stroj∙) u╛ jen jedinΘ - zeptat se v newsech. Emacsu jsou v∞novßny zejmΘna tyto newsovΘ skupiny:

  • comp.emacs: v╣echno mo╛nΘ o Emacsu
  • gnu.emacs.help: sem byste m∞li primßrn∞ sm∞rovat svΘ emacsovskΘ dotazy
  • gnu.emacs.gnus: skupina v∞novanß Gnus, na ty se ptejte p°ednostn∞ zde a ne v gnu.emacs.help
  • gnu.emacs.sources: ji╛ zmφn∞nß skupina vyhrazenß pro zdrojovΘ texty
  • dßle n∞kolik dal╣φch diskusnφch skupin v∞novan²ch nap°φklad XEmacsu; nalΘzt je lze snadno hledßnφm °et∞zce "emacs" v seznamu v╣ech newsov²ch skupin
  • cz.comp.editors: Φeskß diskusnφ skupina o editorech a Emacsu

V∞t╣inu t∞chto odkaz∙ a n∞kolik dal╣φch informacφ naleznete na webovΘ GNU strßnce o Emacsu, kterß se nachßzφ na adrese http://www.gnu.org/software/emacs/emacs.html.

P°echod z vi

Emacs samoz°ejm∞ myslφ i na ty u╛ivatele, kte°φ se v mlßdφ omylem nauΦili (nebo byli nauΦeni) pracovat s editorem vi. Vzhledem k nekompatibilnφmu ovlßdßnφ vi si te∩ netroufajφ p°ejφt na Emacs, proto╛e majφ obavy, ╛e by v n∞m nemohli bez d∙kladnΘ p°φpravy pracovat. Tyto obavy jsou v╣ak naprosto neopodstatn∞nΘ. Emacs disponuje p∞tistup≥ovou emulacφ vi (zvanou Viper) od skoro vi po skoro Emacs. Ost°φlenφ vφajistΘ tak majφ na poΦßtku k dispozici prost°edφ s klßvesov²m ovlßdßnφm, na kterΘ jsou zvyklφ, a nemusφ b²t zbyteΦn∞ mateni mno╛stvφm r∙zn²ch funkcφ. SouΦßstφ Viperu je i info nßvod vysv∞tlujφcφ mimo jinΘ n∞kterΘ pro vφajisty nezvyklΘ vlastnosti Emacsu.

Do Viperu se dostanete spu╣t∞nφm Emacsu a provedenφm p°φkazu M-x viper-mode. Zodpovφte-li n∞kolik otßzek, kterΘ vßm budou p°i prvnφm pou╛itφ tohoto p°φkazu polo╛eny, m∙╛e se vßm Viper p°φ╣t∞ startovat ji╛ automaticky.

P°esto╛e Viper velmi dob°e umo╛≥uje ovlßdat Emacs ve stylu vi, je lΘpe co nejd°φve p°ejφt na skuteΦnΘ emacsovskΘ ovlßdßnφ. Jak jsme ji╛ nahlΘdli, Emacs mß svΘ standardy pro klßvesovΘ kombinace, kterΘ jsou respektovßny v∞t╣inou roz╣i°ujφcφch program∙. Pou╛φvßte-li zßkladnφ ovlßdßnφ ve stylu vi, ztrßcφte do znaΦnΘ mφry v²hody konzistentnφho systΘmu klßvesov²ch kombinacφ a n∞kterΘ funkce dokonce v∙bec nemusφ b²t klßvesov²mi zkratkami dostupnΘ, proto╛e mohou b²t p°edefinovßny vi p°φkazy. To samΘ samoz°ejm∞ platφ i pro emulace jin²ch editor∙.

O Φem je╣t∞ nebyla °eΦ

V╣e, co zde bylo °eΦeno, nenφ nic, co by se muselo dlouho hledat a studovat. V╣e naleznete v menu Help nebo prost°ednictvφm p°φkazu C-h C-h.

Nßpov∞da Emacsu myslφ i na problematiku nov²ch verzφ. U╛ivatelsk² manußl je sice s ka╛dou novou verzφ Emacsu pat°iΦn∞ aktualizovßn, ale to p°φli╣ nepom∙╛e u╛ivatel∙m, kte°φ necht∞jφ znovu Φφst cel² manußl a mφsto toho by rßdi vid∞li seznam zm∞n od poslednφ verze. V╣echny viditelnΘ zm∞ny ve funkcφch (v Emacsu i v Elispu) jsou ji╛ dlouho odpovφdajφcφm zp∙sobem dokumentovßny. Seznam zm∞n v poslednφch verzφch si zobrazφte p°φkazem C-h n. Seznamy zm∞n ve star²ch verzφch jsou pak k dispozici v adresß°i .../etc/ v souborech O*NEWS. Seznam zm∞n by m∞li sledovat zejmΘna programßto°i v Elispu, proto╛e referenΦnφ p°φruΦka Elispu nenφ updatovßna s ka╛dou verzφ Emacsu (zatφm poslednφ verze odpovφdß Emacsu 19.34).

Ji╛ zmφn∞n² adresß° .../etc/ obsahuje i jinΘ zajφmavΘ informace ne╛ seznam novinek. Upozorn∞me zejmΘna na referenΦnφ kartu s nejpou╛φvan∞j╣φmi klßvesov²mi p°φkazy (refcard*, pro Viper vipcard*) a soubor PROBLEMS dokumentujφcφ znßmΘ potφ╛e, kdy n∞co zdßnliv∞ nebo doopravdy nefunguje, a mo╛nosti jejich °e╣enφ. Dßle zde najdete dokumenty o free softwaru a GNU, r∙znΘ dokumenty v∞novanΘ GNU politice a taktΘ╛ n∞kolik spis∙ pon∞kud lehΦφho charakteru.

Na zßv∞r p°iznejme, ╛e se v Emacsu obΦas vyskytujφ chyby. Co ud∞lat v p°φpad∞, ╛e narazφte na chybu? Rozhodn∞ byste ji m∞li ohlßsit. NespolΘhejte p°φli╣ na to, ╛e tak uΦinφ n∞kdo jin²! Ohlß╣enφ chyby toti╛ mnohdy vy╛aduje nezanedbatelnΘ ·silφ a °ada u╛ivatel∙ nenφ ochotna ani tφmto mal²m dφlem p°isp∞t k v²voji svΘho programu. Odm∞nou za °ßdn∞ ohlß╣enou chybu by vßm m∞l b²t patch, kter² tuto chybu opravφ. P°ed ohlß╣enφm chyby si v╣ak ka╛dopßdn∞ dob°e p°eΦt∞te sekci Bugs v manußlu Emacsu. To je nutnß podmφnka k tomu, abyste v²vojß°∙m Emacsu byli schopni pomoci co nejlΘpe. Pokud vφte, ╛e se jednß o chybu elispovskΘho souboru a kter² to je, podφvejte se ve zdrojovΘm souboru na polo╛ku Maintainer v ·vodnφm komentß°i. Je-li zde uvedeno FSF, ohla╣te chybu b∞╛n²m zp∙sobem. Pokud je tam naopak uvedena konkrΘtnφ osoba, po╣lete oznßmenφ o chyb∞ se v╣emi nßle╛itostmi p°φmo na jejφ adresu.

Zßv∞rem

Snad se poda°ilo ukßzat, na jak²ch principech je dokumentaΦnφ systΘm Emacsu vystav∞n, co v╣e je v n∞m obsa╛eno a jak²mi r∙zn²mi zp∙soby jej lze vyu╛φvat. AΦ n∞kte°φ lidΘ odkojenφ prost°edφmi typu Visual Developer Studio pohlφ╛φ na Emacs s netajenou arogancφ, nelze ne╛ konstatovat, ╛e Emacs mß i po strßnce dokumentaΦnφ p°ed podobn²mi produkty n∞kolikalet² nßskok. Nevφtß vßs sice po svΘm spu╣t∞nφ animacemi v barvßch duhy, zmaten²mi kouzelnφky a p°φb∞hy o zat²kßnφ sv²ch u╛ivatel∙, zato se vßm v╣ak sna╛φ po v╣ech strßnkßch pomßhat. Proto nenφ sprßvnΘ k rozsßhlΘmu a sofistikovanΘmu systΘmu dokumentace Emacsu p°istupovat se strachem, n²br╛ je lΘpe si jej ochoΦit.

"Vφ╣, kter² editor je nejlep╣φ?"
"Vim."
"Ano, sprßvn∞."
Jan ⌐erßk

Pokud se vßm i po p°eΦtenφ tohoto miniserißlu bude zdßt, ╛e systΘm nßpov∞dy Emacsu je p°eci jen p°φli╣ komplikovan², nezoufejte. Stejn∞ jako v∞t╣ina v∞cφ v ╛ivot∞, i zvlßdnutφ obsßhlΘ dokumentace Emacsu vy╛aduje urΦitou praxi. ╚φm vφce budete trΘnovat, tφm lΘpe si budete s dokumentaΦnφm systΘmem a Emacsem samotn²m rozum∞t. Nev∞°φte? Zkou╣ejte to! *


- p°edchozφ Φlßnek - nßsledujφcφ Φlßnek - obsah - ·vodnφ strßnka -