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

Jan Kohout 17. 5. 2001

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.

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.

Ohodnoťte jako ve škole:

Průměrná známka 2,91

Našli jste v článku chybu?
Zasílat nově přidané názory e-mailem
Vitalia.cz: Sója a rakovina

Sója a rakovina

DigiZone.cz: Druhá anglická liga pro Digi TV

Druhá anglická liga pro Digi TV

Vitalia.cz: Proč máme prasklý chléb nejraději?

Proč máme prasklý chléb nejraději?

120na80.cz: Tady se vaří padělané léky

Tady se vaří padělané léky

Lupa.cz: Schváleno: Rockaway může převzít Heureku

Schváleno: Rockaway může převzít Heureku

Vitalia.cz: Před, nebo po snídani? Kdy je lepší čistit si zuby

Před, nebo po snídani? Kdy je lepší čistit si zuby

Lupa.cz: Válka e-shopů. Alza končí s Heurekou

Válka e-shopů. Alza končí s Heurekou

Podnikatel.cz: Přechod z OSVČ na firmu? Totální šok!

Přechod z OSVČ na firmu? Totální šok!

DigiZone.cz: Šlágr TV: pokuta 100 tisíc za on-line

Šlágr TV: pokuta 100 tisíc za on-line

Vitalia.cz: Muži kouří 24 cigaret denně, ženy o dost míň

Muži kouří 24 cigaret denně, ženy o dost míň

Podnikatel.cz: Heureka pod Rockaway? Tohle musí splnit

Heureka pod Rockaway? Tohle musí splnit

Lupa.cz: Jak EET vidí ajťák aneb Drahá vražda UX

Jak EET vidí ajťák aneb Drahá vražda UX

Vitalia.cz: SÚKL: vakcíny jsou bezpečné a s autismem nesouvisí

SÚKL: vakcíny jsou bezpečné a s autismem nesouvisí

120na80.cz: Zjistěte, zda je vaše klíště infikované

Zjistěte, zda je vaše klíště infikované

DigiZone.cz: Změní se veřejnoprávní status ČT?

Změní se veřejnoprávní status ČT?

Vitalia.cz: Syndrom počítačového vidění: stačí dvě hodiny denně

Syndrom počítačového vidění: stačí dvě hodiny denně

Podnikatel.cz: Rošáda v živnostech. Týká se vás?

Rošáda v živnostech. Týká se vás?

Lupa.cz: Kam si doma dáte internet věcí? Na polici?

Kam si doma dáte internet věcí? Na polici?

Vitalia.cz: Taky ji kupujete? Je šizená

Taky ji kupujete? Je šizená

120na80.cz: 10 dezinfekcí: Vede „starý dobrý“ peroxid

10 dezinfekcí: Vede „starý dobrý“ peroxid