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 \emph{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 \uv{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!


            výheň