Hlavní navigace

Emacs pro mírně pokročilé (6): GNUS

17. 5. 2001
Doba čtení: 6 minut

Sdílet

Pro čtení příspěvků v diskusních skupinách a práci s elektronickou poštou existuje celá řada programů. Uživatelé Emacsu mají i v tomto případě šanci neopouštět svůj oblíbený editor. Pro tyto činnosti mají totiž k dispozici velmi silného pomocníka - systém GNUS.

Klient nebo chcete-li knihovna GNUS, která je dnes již standardní součástí většiny balíků Emacsu, je (jak již to bývá v případě Emacsu zvykem) velmi rozsáhlým robusním systémem umožňující primárně čtení příspěvků v diskusních skupinách. Zároveň však umožňuje v podstatě shodným způsobem pracovat s elektronickou poštou. Systém spustíme pomocí M-x gnus. Pokud máte na počítači, kde se poprvé GNUS spouští, nakonfigurován přístup k diskusním skupinám (přesněji řečeno máte-li správně nastavenou proměnnou NNTPSERVER), budete příjemně překvapeni, protože budete mít okamžitě přístup k diskusním skupinám. V opačném případě ohlásí GNUS chybu a zobrazí dialog, zda chcete pokračovat v práci s tímto systémem (lze s ním tedy dále pracovat i v tomto případě, viz níže). Pro start GNUSu je rozhodující proměnná (seznam) gnus-select-method, která ovlivňuje, kde se mají diskusní skupiny či maily hledat.

Jak již bylo řečeno, jedná se o systém tak rozsáhlý, že by si zasloužil samostatný seriál. Zejména popis konfigurace by mohl být velmi obšírný. Proto se omezíme na konstatování, že nastavením zmiňované proměnné lze ovlivnit, jaký protokol bude primárně použit pro vyhledávaní novinek (resp. elektronické pošty). Vybírat lze opravdu z celé řady „metod“ – již zmiňovaný NNTP server, lokální spool pro news a celá řada dalších způsobů pro získávání elektronické pošty. V práci se systémem můžeme pokračovat i když není nakonfigurovaný server či metoda dostupná. GNUS nás o tom informuje a ponechává rozhodnutí na uživateli. V tomto případě můžeme například pracovat s lokálně uloženými soubory, apod.

Pokud se nám tedy podaří systém spustit, zobrazí se tzv. Group Buffer neboli buffer obsahující seznam diskusních skupin, či skupin obsahujících elektronickou poštu. GNUS rozlišuje tři základní buffery a tento je první z nich, v hierarchii nejvýše stojící. V Group Bufferu je možno vybírat některou z dostupných diskusních skupin, přidávat, mazat, třídit diskusní skupiny, zkrátka pracovat na úrovni jednotlivých skupin. Buffer poskytuje přehled o dostupných skupinách (formát výpisu lze přizpůsobit svým potřebám), počtu nepřečtených příspěvků, apod. Pohyb po tomto bufferu je velice intuitivní (klávesy n a p pro pohyb vpřed a vzad po skupinách obsahujících nepřečtené příspěvky, N a P nás posouvají po jednotlivých skupinách, apod.). Výběr některé z diskusních skupin (který zároveň zapíná tzv. Summary Buffer) se provádí například klávesou <SPC>, která zároveň zobrazí první nepřečtený příspěvek nebo mail.

V případě GNUSu nemá smysl podrobně popisovat konkrétní klávesové zkratky či příkazy. Stručně si alespoň popíšeme, jaké další možnosti při práci s tímto bufferem GNUS nabízí. Kromě další běžné práce GNUS nabízí tzv. úrovňování (řazení) skupin do úrovní (group levels). Všechny skupiny mají přiřazenu „úroveň přihlášení“ (subscribedness). Například skupina s úrovní 2 má větší váhu, než např. skupina s úrovní 5. Pomocí těchto úrovní lze snadno rozlišit skupiny podle důležitosti a nechat GNUS zobrazit například pouze skupiny do určité důležitosti. Pokud čteme opravdu hodně skupin, může být užitečné členit je podle témat. Takto lze sdružit například skupiny týkající se Emacsu, Linuxu nebo jiných témat. GNUS nabízí mnoho dalších příjemných a užitečných vlastností při práci s tímto bufferem.

Druhým ze tří zmiňovaných bufferů je tzv. Summary buffer. Jeden řádek je vyhrazen vždy jednomu příspěvku (resp. dopisu). Pohyb po jednotlivých příspěvcích je intuitivní, lze je číst, odpovídat na ně apod. Běžně se do tohoto bufferu dostaneme vybráním příslušné skupiny v Group bufferu. K pohybu po tomto bufferu postačí běžné kurzorové šipky. Klávesou <SPC> zvolíme článek, který chceme číst (tato klávesa má univerzální použití v celém systému). Články (příspěvky) zde lze třídit podle různých kritérií (GNUS standardně používá vlákna), dále označovat a hromadně zpracovávat více zpráv najednou. Je možné též omezovat zobrazení zpráv podle kriterií, tedy například zobrazit pouze články od daného autora apod.

GNUS nám nabízí možnost upravit si postup získávání článků ze serveru. Standardně načítá GNUS články dopředu, zatímco čteme předchozí příspěvky (tzv. asynchronní načítání). Toto dopředné načítání je možné zcela vypnout v případě, že čteme jen minimum z celkového počtu příspěvků. Další možností je cacheování článku na lokální disk (např. v případě velmi pomalého NNTP spojení). Nevýhodou může být rychlé vyčerpání diskového prostoru, proto se doporučuje používat tuto funkci velmi obezřetně. Kromě běžného ukládání článků do souboru lze v systému GNUS označit článek za stálý (pozorní čtenáři tuší souvislost k cacheováním). Takovýto článek bude sice uložen lokálně (a tudíž bude přístup k němu velmi rychlý), ale zároveň bude k nalezení v původní skupině (takže si už napříště nemusíme lámat hlavu, kam že jsme si ten zajímavý příspěvek uložili).

Další zajímavou možností je tzv. stromové zobrazení (tree display). Namísto klasického Summary bufferu se zobrazí zvláštní buffer se stromovou strukturou. Často opakovanou činností je hledání původního (rodičovského) příspěvku. Zde nabízí GNUS opravdu široké možnosti. Klávesou ^ (stříška) se posouváme po „předcích“ aktuálního příspěvku (pomocí numerického argumentu se lze pohybovat po skocích větších než jedna). Lze také snadno získat celé vlákno týkající se daného problému (pomocí A T) apod. Nezbytnou součástí klienta pro čtení diskusních příspěvků je vyhledávání podřetězce v jednotlivých článcích. Kombinací M-s spustíme vyhledávaní ve všech příspěvcích ve zvoleném Summary Bufferu.

Samotné články jsou zobrazovány v posledním ze zmiňovaných bufferů, tzv. Article Buffer. V tomto bufferu je vždy zobrazen pouze jeden článek, všechny Summary Buffery (obsahující seznamy příspěvků diskusních skupin) sdílejí právě tento jediný buffer pro zobrazení samotného těla článku. GNUS umožňuje upravit si vzhled tohoto bufferu, tedy zejména zobrazení hlaviček. Klávesové zkratky pro pohyb po Article Bufferu jsou velmi podobné těm pro pohyb po Summary Bufferu. Klávesou <SPC> lze rolovat článek vpřed, klávesou <DEL> zpět. GNUS standardně používá MIME. S rozličným kódováním nejsou při správně nastavených MIME hlavičkách žádné problémy, je tedy možné v Emacsu zobrazovat různě kódované zprávy. Navíc lze zprávy obsahující nejaký MIME objekt velmi snadno uložit či jinak zpracovat (spustit externí program, apod.).

Nebyl by to ovšem plnohodnotný klient, pokud by neumožňoval také psaní příspěvků. Při psaní příspěvku je k dispozici zvláštní (message) buffer, ve kterém lze obvyklým způsobem editovat zprávu. Odeslání příspěvku se provede po stisku kláves C-c C-c. GNUS umožňuje běžným způsobem odpovídat (klávesa r v Summary Bufferu, klávesa R navíc zkopíruje i původní obsah příspěvku) nebo jenom psát (klávesa m). GNUS dále umožňuje upravovat odchozí příspěvky, nejen např. vložením signatury, ale také kontrolou překlepů pro každý odesílaný příspěvek, a archivovat odeslané články.

root_podpora

Systém je opravdu tak obsáhlý, že není možné jej v plné komplexnosti podrobněji popsat. Při zpracování elektronické pošty například GNUS nabízí možnost třídit příchozí poštu (podobně, jako např. procmail), pracovat se spoustou formátů uložení pošty. Systém je bohužel opravdu natolik robusní, že seznámení s ním vyžaduje delší čas strávený pokusy. Výsledek ovšem stojí za to a práce s diskusními skupinami a elektronickou poštou může být později velmi efektivní. Podrobnější informace lze nalézt v manuálu. Na závěr se sluší podotknout, že GNUS není jediný způsob, jak pracovat v Emacsu s elektronickou poštou, existují i jiné možnosti, např. RMAIL.

Příště si povíme něco o správě souborů v Emacsu, o takzvaném dired módu.

Byl pro vás článek přínosný?