Ve druhé části článku o textových editorech, které jsou dostupné v distribuci Fedora, se budeme zabývat popisem těch textových editorů, které jsou vybaveny plnohodnotným grafickým uživatelským rozhraním (GUI). Bude se tedy jednat o doplnění první části článku, v němž jsme si popsali pětici textových editorů určených pro použití v terminálu či v konzoli (konkrétně se jednalo o editory e3, GNU nano, Jed, JoeMCEdit).

Obsah

1. Úvod

Využití grafického uživatelského rozhraní samozřejmě přináší pro uživatele textových editorů mnohé klady, ale taktéž (jak už to v IT velmi často bývá) některé zápory. Mezi klady lze počítat zejména snadné zařazení textového editoru do (uceleného) desktopového prostředí, takže čtenáře tohoto článku pravděpodobně nepřekvapí, že si dnes popíšeme jak základní editor pro desktopové prostředí GNOME/GNOME Shell (Gedit), tak i jeho protějšek určený pro prostředí KDE (Kwrite) a taktéž pro prostředí XFCELXDE (Leafpad).

Mezi další společné vlastnosti naprosté většiny textových editorů s grafickým uživatelským rozhraním patří možnost plnohodnotného využití myši či touchpadu při práci v editoru (výběry textu do schránky a/nebo do takzvaného selection bufferu), použití systému roletových menu, kontextových menu, dialogů, nástrojových panelů, scrollbarů i dalších prvků GUI, které uživatelé znají a současně i u moderních aplikací většinou vyžadují. Ovšem textové editory s grafickým uživatelským rozhraním nepřináší svým uživatelům pouze kladné vlastnosti v porovnání s editory určenými pro konzoli, ale můžeme u nich najít i některé nevýhody.

Pravděpodobně největší nevýhodou (alespoň pro některé skupiny uživatelů, mezi něž patří především administrátoři, ale mnohdy i vývojáři) je – kromě poněkud vyšších systémových nároků – nutnost spuštění grafického prostředí se správcem oken, neboť dále popsané textové editory není možné spouštět přímo v konzoli. To poněkud omezuje použití těchto textových editorů pro vzdálenou správu systému, zejména v případě, kdy jsou vzdálené počítače připojeny přes pomalejší linku a použití VNC či Spice, popř. tunelování X protokolu by vedlo k neúměrnému zpomalení práce s editorem. Řešení ve formě práce jak v konzoli, tak i v grafickém okně, nabízí jen některé editory popsané příště (Vim, Emacs).

2. eFte

První textový editor, který bude v dnešním článku popsán, se jmenuje eFte. Jeho jméno je odvozeno od faktu, že je tento editor nástupcem aplikace Fte, který lze najít na adrese http://fte.sourceforge.net/, ale již nikoli ve standardním repositáři Fedory. eFte je poněkud zvláštní textový editor, jenž stojí na pomezí mezi editory určenými pouze pro terminál/konzoli na jedné straně a editory s plnohodnotným grafickým uživatelským rozhraním na straně druhé. eFte, který lze přeložit buď pro konzoli (Linuxová virtuální konzole, použití ncurses) nebo pro systém X, se svým vzhledem i chováním snaží napodobit DOSové textové editory vytvořené s využitím knihovny Turbo Vision, čemuž odpovídá především způsob zobrazení roletových menu a částečně i použitá znaková sada (rámečky, styl posuvníků apod.).

Obrázek 1: Úvodní obrazovka editoru eFte s výběrem souboru určeného
pro editaci.

Podobně je koncipován i dnes již pravděpodobně nevyvíjený editor wpe/xwpe. Textový editor eFte podporuje rozdělení plochy editoru do několika oblastí, takže je možné v jednom okamžiku pracovat s větším množstvím textových souborů, popř. s jedním souborem otevřeným na různých místech. eFte podporuje i práci se značkami (marks), které lze s výhodou využít pro orientaci v rozsáhlejších dokumentech a/nebo zdrojových souborech. Ostatně právě programátoři možnosti tohoto textového editoru pravděpodobně ocení nejvíce.

Obrázek 2: Jeden ze způsobů zobrazení editovaného souboru v textovém
editoru eFte. Povšimněte si zvýraznění konce řádků (modré tečky) i konce celého
souboru (vodorovná modrá linka).

Mezi zajímavé vlastnosti textového editoru eFte patří možnost zobrazení běžně neviditelných řídicích znaků, především znaků pro konec řádku (lze tak odhalit například přebytečné mezery na koncích řádků), znaků pro horizontální tabulátory atd. Tento textový editor svým uživatelům taktéž nabízí poměrně široké možnosti operací s vybranými bloky textu – zvětšení či zmenšení odsazení bloku, výběr textu do bloku po řádcích, výběr bloku po sloupcích (vertikální bloky), řazení či opačné řazení textu vybraného do bloku apod.

Obrázek 3: Editor eFte obsahuje klasické roletové menu, které svým
vzhledem připomíná prostředí aplikací vytvořených v Turbo Vision.

Pro vybrané typy souborů (především pro zdrojové soubory různých programovacích jazyků) jsou k dispozici takzvané režimy, ovšem ani tvůrci textových dokumentů (čisté ASCII/plain ASCII, HTML, TeX, LaTeX) nepřijdou zkrátka, neboť je podporována operace (polo)automatického zalamování slov do odstavců. eFte má poměrně široké možnosti nastavení, které zhruba odpovídají možnostem textových editorů JedJoe, o nichž jsme se zmínili v předchozí části tohoto článku (ostatně vzhled editorů eFteJed je v mnoha ohledech velmi podobný).

Obrázek 4: Menu s poměrně širokými možnostmi nastavení textového
editoru eFte.

Obrázek 5: Nápověda se zobrazením klávesových zkratek.

Obrázek 6: Zde je v roletovém menu zobrazen seznam typů souborů, pro
něž existují v editoru eFte speciální režimy (a samozřejmě i zvýraznění
syntaxe).

Obrázek 7: Režim editace zdrojového kódu vytvořeného v programovacím
jazyku C. Samozřejmostí je i zvýraznění syntaxe.

Obrázek 8: Režim editace dokumentu vytvořeného ve značkovacím jazyku
HTML. V tomto režimu je mj. k dispozici i speciální menu
s nabídkou vložení nejdůležitějších tagů do HTML souboru.

3. Leafpad

Zatímco ani vzhled ani ovládání textového editoru eFte popsaného v předchozí kapitole příliš neodpovídá moderním aplikacím s grafickým uživatelským rozhraním, budou všechny dále popsané editory již do značné míry „standardizovány“. Týká se to samozřejmě i textového editoru s názvem Leafpad (http://tarot.freeshell.org/leafpad/). Tento textový editor je určen pro desktopové prostředí XFCE (http://www.xfce.org/) a taktéž LXDE (). Podobně jako obě zmíněná prostředí je i Leafpad založen na knihovnách GTK+.

Obrázek 9: Dialog se základními informacemi o textovém editoru
Leafpad.

Jedná se dokonce o primární editor pro obě desktopová prostředí (XFCE i LXDE), což mj. znamená, že základní koncepce, na níž je Leafpad postaven odpovídá i koncepci celého prostředí XFCE – minimalismu, ovšem s ohledem na snadnou ovladatelnost a téměř nulový čas nutný pro ovládnutí možností této aplikace či celého prostředí. Grafické uživatelské rozhraní editoru Leafpad se podobá například rozhraní Notepadu či editoru The Gun (obě zmíněné aplikace jsou dostupné pro systém Microsoft Windows), ve skutečnosti však Leafpad nabízí v porovnání s oběma zmíněnými editory přece jen větší množství funkcí.

Obrázek 10: Minimalisticky pojaté grafické uživatelské rozhraní editoru
Leafpad do značné míry odpovídá jednoduchým textovým editorům typu Notepad, The
Gun atd.

Okno tohoto textového editoru je určeno pro editaci pouze jednoho souboru, nenajdeme zde tedy žádné taby ani možnost rozdělení okna s textem horizontálně či vertikálně. Celé okno Leafpadu rozděleno na oblast roletového menu, plochy pro editaci textu, volitelného místa na levé straně okna, v němž se zobrazují čísla řádků a taktéž volitelné plochy určené pro umístění vertikálního a popř. i horizontálního posuvníku. Leafpad svým uživatelům nabízí základní (obecně očekávané) editační funkce, práci s vybraným textem (operace cut, copypaste), dialog pro vyhledávání textového řetězce popř. i pro vyhledávání s nahrazováním a konečně dialog pro skok na zvolené číslo řádku.

Obrázek 11: Dialog pro hledání a nahrazování řetězců v editovaném
textu.

Všechny výše zmíněné operace je možné vyvolat jak z hlavního menu editoru, tak i s využitím klávesových zkratek, což je samozřejmě při práci s textem mnohem rychlejší. Textový editor Leafpad může svou minimalistickou koncepcí některým uživatelům vyhovovat, neboť jeho GUI není „přeplácáno“ zbytečnými prvky a navíc je práce s tímto editorem i velmi rychlá, mj. i kvůli absenci zvýrazňování syntaxe apod. Nicméně pro náročnější uživatele jsou určeny editory popsané v navazujících kapitolách popř. i v další části tohoto článku.

Obrázek 12: Leafpad dokáže zobrazit i čísla řádků a používat horizontální
posuvník (scrollbar).


Obrázek 13: Jednoduchý dialog pro skok na zvolené číslo řádku.

4. Gedit

Třetím textovým editorem s plnohodnotným grafickým uživatelským rozhraním je editor nazvaný Gedit. Jedná se o produkt, který je vyvíjený již šestnáct let a za dobu své existence prošel mnoha změnami. My se dnes budeme zabývat především Geditem ve verzi určené pro desktopové prostředí GNOME Shell, i když je samozřejmě možné tento editor využívat i při práci s jiným desktopovým prostředím či s odlišným správcem oken – poměrně často lze na počítačích uživatelů vidět kombinaci XFCE+Gedit, LXDE+Gedit či dokonce Fluxbox+Gedit. Grafické uživatelské rozhraní Geditu sice vypadá alespoň na první pohled jednoduše, ve skutečnosti se však jedná o poměrně výkonný textový editor, jehož největší přednost spočívá v tom, že do něj mohou být nainstalovány další zásuvné moduly (pluginy), které možnosti tohoto editoru rozšiřují. Pluginů pro Gedit dnes existuje poměrně velké množství a některé z nich umožňují z tohoto editoru vytvořit (téměř plnohodnotné) integrované vývojové prostředí (IDE).

Obrázek 14: Dialog se základními informacemi o textovém editoru
Gedit.

Oproti v předchozí kapitole popsanému textovému editoru Leafpad najdeme v Geditu jak konfigurovatelný nástrojový pruh, tak i možnost otevření většího množství dokumentů, přičemž každý dokument je umístěn v samostatné záložce (tabu), podobně jako je tomu například i u většiny webových prohlížečů. Navíc Gedit obsahuje i vícefunkční panel, jenž může například zobrazovat seznam souborů, strukturu otevřeného projektu apod. V základní instalaci Geditu ve Fedoře jsou k dispozici moduly umožňující zvýraznění aktuálního řádku a popř. i sloupce, zobrazení čísla řádků, zvýraznění párových závorek a samozřejmě též zvýraznění syntaxe na základě definičních souborů, které jsou dnes dostupné pro většinu používaných značkovacích i programovacích jazyků.

Obrázek 15: Základní způsob zobrazení grafického uživatelského rozhraní
editoru Gedit s menu, nástrojovou lištou, taby, plochou editoru a stavovou
lištou.

Ovšem ani autoři textových dokumentů (Plain ASCII, TeX, LaTeX, HTML, XHTML, DocBook) nepřijdou při volbě tohoto textového editoru zkrátka, protože Gedit podporuje poloautomatické i automatické zalamování textu (takzvaný text wrapping) a dokonce i náhled dokumentu před jeho tiskem. Tuto funkci lze použít i pro ověření, zda se při tisku zdrojových souborů nerozdělí řádky na špatných místech – i přes veškeré možnosti dnešních nástrojů je totiž někdy nejlepší si „zdroják“ vytisknout a v klidu si ho prohlédnout v prostředí co nejdále od počítače :-). Pro podporu dalších funkcí – propojení s překladači, debuggery či interpretry (kromě již připravené konzole Pythonu atd.) je nutné do Geditu doinstalovat další zásuvné moduly. Další informace lze získat na adrese https://help.gnome.org/users/gedit/stable/gedit-plugin-guide.html.en.

Obrázek 16: Dialog s nastavením vlastností Geditu.

Obrázek 17: Do Geditu lze doinstalovat i množství zásuvných modulů
(pluginů).

Obrázek 18: Zobrazení čísel řádků, zvýraznění aktuálního řádku (světle
šedé pozadí) a zvýraznění párových závorek.

Obrázek 19: Preview – zobrazení editovaného souboru takovým
způsobem, jakým bude jeho obsah vytištěn.

Obrázek 20: Textový editor Gedit lze s vhodnými zásuvnými moduly
(pluginy) proměnit ve skutečné integrované vývojové prostředí.

5. KWrite

Základní textový editor určený pro desktopové prostředí GNOME jsme si již popsali v předchozí kapitole, takže mnozí čtenáři již pravděpodobně očekávají, že se zmíním i o prostředí KDE a o základním textovém editoru, který se v tomto prostředí využívá. Tímto textovým editorem je aplikace nazvaná KWrite (http://www.kde.org/applications/utilities/kwrite/. Textový editor KWrite se jak koncepcí svého grafického uživatelského rozhraním, tak i dostupnými funkcemi řadí mezi minimalistický Leafpad a mnohem pokročilejší Gedit. Kromě roletového menu, posuvníků a plochy pro zápis textu obsahuje KWrite i plně konfigurovatelný nástrojový pruh (toolbar) a stavový řádek se základními informacemi o režimu editoru: řádek a sloupec, na kterém se v daný okamžik nachází textový kurzor, režim přepisu či vkládání a taktéž jméno editovaného souboru.

Obrázek 21: Dialog se základními informacemi o textovém editoru
KWrite. Povšimněte si, že za vývojem stojí skupina programátorů dále popsaného
editoru Kate

Na pravé straně okna editoru se může v případě potřeby zobrazit v současnosti velmi populární minimapa (minimap) zobrazující celou strukturu dokumentu. V minimapě je zvýrazněna ta část dokumentu, která je v daný okamžik viditelná v okně editoru, minimapu lze taktéž společně s myší použít pro rychlé přesuny v rámci editovaného dokumentu. Podobně jako tomu bylo v případě textového editoru Gedit, podporuje i jeho nepřímý konkurent KWrite zobrazení čísel řádků či zvýraznění syntaxe na základě definičních souborů nainstalovaných společně s tímto editorem. V některých případech může být užitečná i další vlastnost editoru KWrite – barevné odlišení stavu každého řádku dokumentu (změněné versus nezměněné řádky) zobrazené na levém okraji okna s dokumentem. KWrite je dalším editorem podporujícím většinu klávesových zkratek definovaných v CUA (Common User Access, http://en.wikipedia.org/wiki/IBM_Common_User_Access), takže je práce s tímto editorem jednoduchá i například pro uživatele přecházející na Fedoru z jiných operačních systémů.

Obrázek 22: Základní prvky grafického uživatelského rozhraní textového
editoru KWrite.

Obrázek 23: Konfigurace ikon dostupných z nástrojového panelu je
velmi jednoduchá.

Obrázek 24: Na pravé straně je zobrazena minimapa se zvýrazněním té části
dokumentu, která je viditelná v okně editoru.


Obrázek 25: Zobrazení čísel řádků a použití příkazu pro zakomentování té
části zdrojového kódu, která byla vybrána do bloku.

6. Kate

Posledním dnes popsaným textovým editorem s grafickým uživatelským rozhraním je editor Kate neboli KDE Advanced Text Editor. Již z tohoto názvu je patrné, že se jedná o další editor určený pro desktopové prostředí KDE; zajímavé přitom je, že editory KWriteKate sdílí stejné či velmi podobné funkce, což je ostatně výhodné pro ty uživatele, kteří preferují volbu textového editoru podle konkrétního úkolu (na malé úpravy dokumentu KWrite, pro delší práci Kate). Díky možnosti instalace zásuvných modulů lze možnosti Kate rozšiřovat, další možnosti rozšiřování jsou zajištěny díky podpoře tvorby skriptů psaných v JavaScriptu (je ostatně zajímavé sledovat, na jakých různých místech se začíná JavaScript objevovat a jak roste jeho popularita i mimo oblast tvorby webových stránek). V editoru Kate je možné – a to právě díky jednomu zásuvnému modulu – pracovat s takzvanými projekty, díky čemuž lze rozdělovat či slučovat jednotlivé editované soubory/dokumenty do větších celků.


Obrázek 26: Dialog Tip of the Day textového editoru Kate.

Okno textového editoru Kate lze horizontálně či vertikálně rozdělit, popř. lze používat záložky (taby) při práci s větším množstvím editovaných dokumentů. Pro různé operace prováděné v editoru Kate se zobrazují samostatná podokna popř. nástrojové lišty. Jedná se například o operaci typu „najdi a nahraď“ atd. (mimochodem, při použití této operace je možné používat regulární výrazy). Velmi široké možnosti nabízí textový editor Kate při editaci zdrojových souborů. Podporováno je samozřejmě zobrazení čísel řádků, dále pak zvýraznění syntaxe, zvýraznění párových závorek, ale taktéž automatické zarovnání řádků zdrojového souboru. Kate taktéž umožňuje takzvaný folding, tj. skrytí určité části dokumentu. Folding je možné použít jak při editaci zdrojových souborů, tak i při práci se strukturovanými textovými dokumenty (XML, DocBook, XHTML…). Mnozí programátoři ocení také možnost automatického dokončování názvů identifikátorů (proměnných, metod, funkcí, tříd).


Obrázek 27: Informace o autorech textového editoru Kate.

Při editaci dokumentů lze zavolat i integrovanou kontrolu překlepů nebo nechat podtrhávat nerozpoznaná slova přímo v editačním okně. Kontrola překlepů respektuje zvolený typ souboru, takže například u souborů ve formátu HTML nekontroluje slova uvnitř tagů. Můžete také provádět konverzi dokumentu či zdrojového kódu mezi různými kódováními (UTF-8, UTF-16 atd.) a pro některé uživatele, například administrátory, může být užitečná i funkce editace dokumentů dostupných přes protokoly FTP, SSH (scp) atd. Díky tomu lze například, samozřejmě při vhodné konfiguraci vzdáleného počítače, editovat obsah webových stránek, měnit konfiguraci vzdáleného počítače atd. Kate taktéž obsahuje příkazový řádek, v němž je možné nastavení editoru měnit (většinou) rychleji než při použití dialogů s GUI. Z výše uvedených informací je patrné, že Kate spojuje snadnost ovládání s pokročilými funkcemi.

Obrázek 28: Grafické uživatelské rozhraní textového editoru Kate.

Obrázek 29: Nalevo je zobrazený formulář se seznamem souborů, napravo
rozdělené okno editoru.

Obrázek 30: Konfigurace zásuvných modulů (pluginů) textového editoru
Kate.

Obrázek 31: Napravo je zobrazena oblíbená minimapa.

7. Obsah třetí části článku

V následující části tohoto článku si podrobněji popíšeme trojici textových editorů určených zejména pro profesionální uživatele, tj. pro administrátory, vývojáře, autory dokumentace, tvůrce webových stránek apod. Jedná se samozřejmě o textový editor Vim (popř. jeho varianty GVimKVim rozšířené o možnost spuštění s grafickým uživatelským rozhraním), jeho věčného rivala Emacs a taktéž o textový editor jEdit. Všechny tři zmíněné textové editory nabízí uživatelům široké spektrum funkcí, podporu maker, regulárních výrazů a v neposlední řadě taktéž podporu pro instalaci zásuvných modulů, které dokážou možnosti těchto textových editorů rozšířit mnohdy i o dosti komplikované funkce.