Ve třetí části článku o textových editorech v distribuci Fedora si podrobněji popíšeme čtveřici textových editorů určených zejména pro profesionální uživatele, tj. například pro administrátory, vývojáře, autory dokumentace, tvůrce webových stránek apod. Jedná se v první řadě o textový editor Vim (popř. jeho varianty GVim a KVim 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 či o IDE Geany. Všechny čtyři zmíněné aplikace, které svými vlastnostmi stojí na pomezí mezi „pouhými“ textovými editory a plnohodnotnými IDE, 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.

Obsah

1. Stručný obsah předchozích dvou částí seriálu o textových editorech

2. Textové editory ve Fedoře (3. část)

3. Geany

4. jEdit

5. Emacs

6. Vim

1. Stručný obsah předchozích dvou částí seriálu o textových editorech

V dnešním článku navážeme na dva již postarší (ale nutno zdůraznit, že stále ještě aktuální) články o textových editorech dostupných v distribuci Fedora. Pro začátek si jen ve stručnosti připomeňme, že v úvodním článku 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 aplikace nazvané e3, GNU nano, Jed, Joe a MCEdit. Některé z těchto editorů nabízí uživatelům pouze nejzákladnější funkce, což však nemusí být na škodu, neboť o to snadnější může být jejich použití (ostatně přesně z tohoto důvodu některé dále zmíněné editory neustále na své obrazovce zobrazují nápovědu k nejčastěji používaným klávesovým zkratkám).

01

Obrázek 1: Editace textového dokumentu (konkrétně jednoho předchozího článku připraveného pro tento Web) v oblíbeném textovém editoru GNU nano.

Poněkud vyspělejší jsou textové editory nazvané e3, Joe a zejména pak textový editor Jed. Aplikace Joe a Jed podporují zvýraznění syntaxe vybraných programovacích jazyků a konfiguračních souborů, uživatelská makra apod. Jed navíc podporuje integraci s kalendářem či napojení na ispell (tj. na slovník). Všechny textové editory určené pro spuštění v terminálu je možné používat buď lokálně, nebo je lze jednoduše spustit na jakémkoli počítači, k němuž je uživatel připojen například pomocí SSH. Taktéž je lze využít společně s mnohdy velmi užitečnými nástroji typu GNU Screen či tmux, což mj. znamená, že takto spuštěný editor dokáže „přežít“ odpojení uživatele od vzdáleného systému.

02

Obrázek 2: Ukázka některých možností nabízených editorem Jed: zvýraznění syntaxe zdrojového kódu, systém menu a změna barev uživatelského prostředí.

Ve druhé části článku jsme se zabývali popisem těch textových editorů, které jsou vybaveny plnohodnotným grafickým uživatelským rozhraním (GUI). 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í. 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 v případě použití systému X Window), 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í.

03

Obrázek 3: Některé možnosti textového editoru GEdit: zobrazení čísel řádků, zvýraznění aktuálního řádku (světle šedé pozadí) a zvýraznění párových závorek.

Z takto koncipovaných textových editorů s plnohodnotným grafickým uživatelským rozhraním byl popsán základní editor pro desktopové prostředí GNOME/GNOME Shell nazvaný Gedit, jeho protějšek určený pro prostředí KDE nazvaný KWrite a taktéž jsme se zmínili o textovém editoru Leafpad (+Mousepad) určeného pro prostředí XFCE a LXDE. Dále byl popsán textový editor Kate, jenž je taktéž vytvořený pro prostředí KDE. Textový editor Kate však již svými vlastnostmi připomíná spíše nástroje, kterými se budeme zabývat v dnešním článku. Nakonec jsme se zmínili i o aplikaci eFte stojící na pomezí mezi programy 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é; ostatně není bez zajímavosti, že existuje i veze eFte určená pro Linuxovou konzoli.

04

Obrázek 4: Grafické uživatelské rozhraní textového editoru Kate. Napravo je zobrazena oblíbená minimapa, která se začala používat i v mnoha dalších editorech.

2. Textové editory ve Fedoře (3. část)

Ve třetí části seriálu o textových editorech, které jsou dostupné uživatelům Linuxové distribuce Fedora si popíšeme čtveřici textových editorů, které se již některými svými vlastnostmi podobají spíše plnohodnotným integrovaným vývojovým prostředím (IDE). Zabývat se budeme popisem některých možností textového editoru Vim i jeho dlouhodobého konkurenta, jímž je slavný Emacs. Dále si pak popíšeme možnosti nabízené aplikací Geany a nezapomeneme ani na textový editor jEdit, který je – jako jediný z doposud popisovaných nástrojů – naprogramovaný v Javě, což s sebou přináší klady, ale i některé zápory, o nichž se taktéž ve stručnosti zmíníme.

05

Obrázek 5: Geany se může pro mnoho uživatelů stát velmi sympatickým a současně i snadno ovladatelným textovým editorem, který je možné využít i ve funkci jednoduššího integrovaného vývojového prostředí.

Všechny čtyři zmíněné textové editory podporují tvorbu a použití zásuvných modulů (pluginů), oboustrannou interakci s dalšími nástroji nainstalovanými v systému (například s překladači či s debuggery) a taktéž nabízí možnost tvorby uživatelských maker či dokonce složitějších skriptů. Již z tohoto výčtu je patrné, že tyto textové editory jsou určené zejména pro profesionály (vývojáře, administrátory, autory technické dokumentace, autory používajícími (La)TeX atd.), i když například editory jEdit a Geany zůstávají i přes mnoho nabízených funkcí stále snadno ovladatelné a použitelné, a to i bez nutnosti dlouhodobého zácviku.

06

Obrázek 6: Emacs se jedním z „velkých“ editorů a je ho možné použít nejenom na Linuxu, ale i na prakticky všech dnes používaných operačních systémech.

3. Geany

S aplikací nazvanou Geany jsme se již na stránkách mojefedora.cz setkali, a to konkrétně při popisu integrovaných vývojových prostředí nabízených uživatelům Fedory. Ve skutečnosti se však Geany používá i ve funkci vyspělého textového editoru, což je důvod, proč se o tomto programu zmiňujeme i dnes. Předností Geany je snadno použitelné grafické uživatelské prostředí využívající klávesové zkratky známé i z dalších aplikací. Geany se vzdáleně podobá například známému programátorskému editoru PSPad, který je dostupný pro operační systém Microsoft Windows; na rozdíl od PSPadu je však Geany multiplatformní (zjednodušeně řečeno je možné říci, že poběží na každém systému, v němž je nainstalována knihovna GTK2).

07

Obrázek 7: Takto vypadá uživatelské rozhraní Geany krátce po spuštění.

Ústředním a vlastně současně i nejdůležitějším prvkem integrovaného vývojového prostředí Geany je samozřejmě programátorský textový editor, který sice nemůže – alespoň co se týče rozsahu a možností nabízených funkcí – soupeřit s Vimem ani s Emacsem, ovšem pro poměrně velkou skupinu vývojářů i dalších uživatelů mohou být funkce nabízené interním editorem Geany více než dostatečné. Tento textový editor samozřejmě umožňuje provádět poloautomatické formátování zdrojových textů či dokumentů (s volitelným zalamováním dlouhých řádků), vyhledávání v textu apod. Navíc lze jednotlivé bloky, na něž je zdrojový text v prakticky každém programovacím jazyce hierarchicky rozčleněn, selektivně skrývat pomocí funkce fold, popř. s využitím ikon [+] a [-] zobrazených ve sloupci nalevo od zdrojového textu.

08

Obrázek 8: Zvýraznění zdrojového kódu naprogramovaného v jazyku C, v dolní části se zobrazují hlášení editoru a vývojového prostředí.

Ovšem programátorský textový editor integrovaného vývojového prostředí Geany nabízí vývojářům i mnoho dalších užitečných funkcí. Při načítání či změně zdrojového kódu se například vytvoří seznam symbolů (globálních proměnných, funkcí, metod, datových struktur), který je zobrazen v samostatném nástrojovém panelu zobrazeném nalevo od zdrojového kódu. Tímto seznamem lze procházet a přesouvat se v editoru na definici vybraného symbolu. Integrovaný textový editor taktéž dokáže zobrazit nápovědu k zapisovaným funkcím (počet parametrů atd.) a při překladu se analyzují hlášení překladače a pokud došlo při překladu k chybě, je na tuto situaci uživatel upozorněn červeně podtrženou částí zdrojového textu.

09

Obrázek 9: Zvýraznění zdrojového kódu naprogramovaného v jazyku C.

Mnoho moderních aplikací, samozřejmě včetně mnohých textových editorů, podporuje rozšiřování své funkcionality s využitím přídavných modulů nazývaných plugin(s). Typickým příkladem aplikací s podporou přídavných modulů jsou webové prohlížeče (Firefox...) či integrované vývojové prostředí Eclipse. Výjimkou v tomto trendu není ani vývojové prostředí Geany, které použití pluginů taktéž podporuje a dokonce jsou s využitím pluginů implementovány některé funkce, které jsou dnes vyžadovány od všech IDE (například vazba na ladicí program – debugger).

10

Obrázek 10: Přímo z prostředí Geany je možné (bez opuštění editoru) zavolat překladač. To, jakým způsobem bude překlad proveden, závisí na nastavení takzvaného projektu.

Pro vývojáře je užitečný zejména modul nazvaný geanygdb, neboť s jeho využitím se do vývojového prostředí Geany může integrovat GNU Debugger (GDB). Pokud je modul geanygdb nainstalován (yum/dnf install geany-plugins-geanygdb) a následně povolen v IDE Geany, je možné využít příkazy dostupné z menu Debug a taktéž se v levé straně grafického uživatelského rozhraní objeví další záložka. Práce s debuggerem GDB je při použití geanygdb poměrně jednoduchá.

11

Obrázek 11: Geany dokonce obsahuje možnost spuštění shellu (například BASHe), a to opět přímo z prostředí editoru.

Nejprve je samozřejmě nutné přeložit celou aplikaci s volbou -g, čímž se do vytvářených objektových souborů, binárních spustitelných souborů a popř. i do binárních sdílených knihoven přidají potřebné ladicí symboly (debug symbols). Následně je možné v záložce Debug zobrazené v levé části grafického uživatelského rozhraní vybrat tlačítko [Load], čímž dojde k načtení binárního spustitelného souboru aplikace do ladicího programu. Textové pole zobrazené nad všemi tlačítky by mělo v případě úspěšného načtení obsahovat text „loaded“ a současně by se měla zpřístupnit další tlačítka, zejména [Run], [Watches] a [Break].

12

Obrázek 12: Velmi zajímavé a současně i užitečné jsou možnosti editace strukturovaných dokumentů. Zde můžeme vidět jeden starší článek zveřejněný na mojefedora.cz, který je napsaný v HTML. Levá část editoru Geany obsahuje strukturu tohoto dokumentu.

13

Obrázek 13: Dialog s nastavením možností tohoto editoru a současně i integrovaného vývojového prostředí.

14

Obrázek 14: V konfiguračním dialogu je dokonce možné si zvolit klávesové zkratky přiřazené jednotlivým editačním příkazům a upravit si tak prostředí Geany podle přání uživatele.

15

Obrázek 15: Další pohled na HTML dokument editovaný v prostředí Geany.

4. jEdit

Dalším pokročilým textovým editorem nabízejícím svým uživatelům plnohodnotné grafické uživatelské rozhraní je editor nazvaný jEdit. Jméno tohoto editoru částečně naznačuje, že je tato aplikace naprogramovaná v Javě, což mj. zajišťuje i poměrně snadnou přenositelnost jEditu mezi různými architekturami i operačními systémy. Na druhou stranu je však nutné poznamenat, že tento textový editor je prakticky nepoužitelný na mikropočítačích vybavených výpočetně slabším mikroprocesorem či na počítačích s menší kapacitou operační paměti (za reálné minimum lze považovat procesor Atom první generace a 512 MB RAM). Jako testovací stroj nejnižší výkonové kategorie jsem vyzkoušel použít jEdit na populárním jednodeskovém mikropočítači Raspberry PI 1 model B, na němž však již tento program není prakticky použitelný, neboť překreslování textu při jeho editaci či pohyb v delším dokumentu je již velmi pomalý.

16

Obrázek 16: Grafické uživatelské rozhraní textového editoru jEdit po prvním spuštění.

V případě, že uživatel má k dispozici dostatečně výkonný počítač, však může být jEdit poměrně dobrou volbou, už jen kvůli možnosti velmi snadné přenositelnosti této aplikace na různé systémy a platformy (nemusí se provádět jeho instalace) či proto, že ovládání tohoto editoru může být pro běžné uživatele jednodušší, než je tomu v případě Vimu či Emacsu (zejména z toho důvodu, že se jEdit snaží být konzistentní s ostatními desktopovými aplikacemi), přitom však zůstává zachována většina důležitých operací s textem včetně podpory složitých maker. Jedna vlastnost jEditu může být užitečná zejména při tvorbě dokumentů v Texu, LaTexu či HTML – editor totiž umožňuje zapnout takzvaný „soft wrapping“ (vizuální zalamování textu na určeném sloupci) či „hard wrapping“ (skutečné zalamování textu vkládáním znaku pro konec řádku přímo do editovaného dokumentu).

17

Obrázek 17: Součástí jEditu je samozřejmě i integrovaná nápověda.

Tento textový editor nabízí pohled na pracovní plochu, která je používaná i v mnoha různých integrovaných vývojových prostředích. Prakticky to znamená, že v levé části okna se zobrazuje struktura projektu (což se využije například při vývoji) či náhled na vybraný adresář, z něhož je možné vybírat soubory pro jejich editaci. Pravá část okna editoru je vyhrazena pro vlastní text, ovšem v případě potřeby je možné velmi snadno vytvořit různé odlišné pohledy; například je možné provést rozdělení okna editoru na dvě podokna (split) apod. Vybírat je možné i různá barevná schémata, z nichž některá si lze prohlédnout na stránce http://www.jedit.org/index.php?page=screenshots (navíc se na této stránce nachází i snímky jEditu doplněného o různé pluginy).

18

Obrázek 18: jEdit ve funkci jednoduššího integrovaného vývojového prostředí; povšimněte si zvýraznění syntaxe, pohled na adresářovou strukturu apod.

Vzhledem k modulárnímu návrhu jEditu (a mimo jiné také díky poměrně kvalitnímu programátorskému rozhraní – API) tento textový editor podporuje poměrně snadné připojení dalších modulů (pluginů), kterých už bylo do dnešní doby vytvořeno značné množství. Ostatně právě díky pluginům připraveným pro různé typy souborů je jEdit mezi uživateli tak populární. Seznam modulů je možné získat na domovské stránce editoru. Pluginy je však také možné instalovat přímo z prostředí editoru, který se sám připojí na svoji indexovou stránku, získá seznam pluginů a nabídne jejich popis uživateli (pokud se tato funkce neprovede korektně, zkontrolujte si nastavení firewallu). Při tvorbě uživatelských skriptů je možné využít skriptovací jazyk BeanShell, alternativně i Jython (Python pro JVM) či JavaScript.

19

Obrázek 19: Seznam autorů jEditu je velmi dlouhý.

Užitečné je, že tento textový editor obsahuje již ve své základní verzi podporu pro tvorbu osnovy (tj. hierarchie textu), která je povolena zapnutím editačního módu nazvaného „outline“. Práce s osnovou je poměrně úzce spjata s takzvaným „foldingem“, ovšem s tím rozdílem, že se v jEditu nerozlišuje mezi nadpisy a odstavcovým textem. Folding je běžně mnoha vývojáři používán při práci se zdrojovými kódy; díky němu je možné například schovat tělo funkce či tělo programové smyčky a nechat viditelné pouze relevantní části kódu. Folding je však možné použít i v případě strukturovaných textových dokumentů.

20

Obrázek 20: Manažer pluginů. Přes tento dialog je možné pluginy vyhledávat a instalovat, to vše bez nutnosti opuštění prostředí editoru.

21

Obrázek 21: Editace zdrojového kódu napsaného v programovacím jazyku Clojure.

22

Obrázek 22: Dialog s nastavením možností textového editoru jEdit.

23

Obrázek 23: Editace zdrojového kódu napsaného v programovacím jazyku Lua.

24

Obrázek 24: V seznamu pluginů je možné provést i vyhledávání podle zadaného slova či sousloví.

25

Obrázek 25: Editace zdrojového kódu napsaného v programovacím jazyku Java.

26

Obrázek 26: Populární plugin zobrazující strukturu Javovských tříd.

5. Emacs

Třetím programátorským textovým editorem, s nímž se v dnešním článku alespoň ve stručnosti seznámíme, je slavný a mnoha uživateli stále používaný textový editor nazvaný GNU Emacs (Emacs je zkratka sousloví „Editor MACroS“), který relativně nedávno dosáhl verze 24.5. Díky tomu, že je tento programátorský editor poměrně snadno rozšiřitelný s využitím skriptů a modulů vyvinutých v programovacím jazyce Lisp, přesněji řečeno v jeho dialektu nazvaném Emacs Lisp (též Elisp), existuje v současnosti poměrně velké množství propracovaných modulů, které z Emacsu vytváří sofistikované integrované vývojové prostředí (IDE), které se navíc v případě potřeby dokáže přizpůsobit mnoha programovacím jazykům (překladačům i interpretrům).

27

Obrázek 27: Součástí instalace Emacsu je i rozsáhlý tutoriál.

To však v žádném případě neznamená, že by Emacs nebyl vhodný i pro ty uživatele, kteří tvoří různé dokumenty. Právě naopak – existuje hned několik pluginů určených pro přípravu dokumentů v LaTeXu (http://www.emacswiki.org/emacs/LaTeX, https://www.gnu.org/software/emacs/manual/html_node/emacs/TeX-Mode.html), HTML (http://www.emacswiki.org/emacs/HtmlMode), DocBooku (http://sourceforge.net/projects/docbookxml/), již připravené snippety pro DocBook (https://github.com/jhradilek/emacs-docbook-snippets) a zapomenout v žádném případě nesmíme ani na propracovaný režim nazvaný Org mode (http://orgmode.org/).

28

Obrázek 28: Ukázka editace zdrojového kódu napsaného v jazyku C.

U režimu Org mode se na chvíli zastavíme, protože při jeho použití se může textový editor Emacs proměnit v propracovaný organizační a plánovací nástroj, který navíc uživatelům nevnucuje pouze jediný způsob práce tak, jako je tomu v případě použití některých specializovaných nástrojů. Org mode, jehož zdrojový kód překročil zhruba 140 000 zdrojových řádků (180 000 řádků celkem!), je založený na použití strukturovaných textových dokumentů, které mohou obsahovat poznámky, hierarchii úkolů, specializované značky (*tučné písmo*, /kurzíva/) apod. Dokumenty však zůstávají stále čitelné a volně editovatelné. Navíc se díky tomu, že se stále jedná o „obyčejný“ text, mohou snadno přenášet mezi různými systémy, dalšími programy, ukládat tyto dokumenty do repositářů apod.

29

Obrázek 29: Jeden z modulů umožňuje kooperaci Emacsu s jednoduchým kalendářem.

Org Mode nabízí uživatelům i poměrně široké možnosti exportu a importu dat. Importovat je možné informace z relačních databází, minimálně z těch databází, které dokážou vytvořit textový výpis tabulek. Dalším pomocným externím nástrojem je známý Pandoc, jenž umožňuje konvertovat dokumenty používající různé značkovací jazyky (Markdown, DocBook, LaTeX, rst) do formátu zpracovatelného pluginem Org Mode. Taktéž je možné spolupracovat s aplikacemi, které pro export či import dat používají iCalendar. Možnosti exportu jsou taktéž značné, ať již se jedná o tvorbu výsledných dokumentů (včetně PDF), tak i o kooperaci například s FreeMindem, tedy aplikací určenou pro prohlížení a editaci takzvaných myšlenkových map („mind maps“).

30

Obrázek 30: V případě problémů se lze obrátit i na integrovaného psychoterapeuta (což je jen jedna z variant známého programu ELIZA).

Textový editor Emacs je možné v závislosti na tom, jaký typ souboru je právě otevřený, přepínat mezi různými režimy, přičemž v každém režimu mohou být použity jiné klávesové zkratky, zobrazena odlišná okna (nejenom klasická okna s editovaným textem) apod. V jednom z předchozích článků byl popsán režim umožňující kooperaci mezi Emacsem a GNU Debuggerem při ladění programů. Připomeňme si tedy ve stručnosti, že o propojení debuggeru s Emacsem se stará knihovna GUD neboli Grand Unified Debugger.

31

Obrázek 31: Připojení Emacsu ke GNU Debuggeru přes knihovn GUD.

V režimu ladění aplikací přes GUD je možné si v okně Emacsu zobrazit zdrojový kód a současně i několik bufferů obsahujících jak textové uživatelské rozhraní debuggeru (konzoli, která je aktivní, tj. lze do ní zapisovat příkazy), tak i speciální buffer s hodnotami pracovních registrů procesoru, další buffer se seznamem breakpointů, buffer se seznamem vláken atd. Kromě toho je možné (minimálně ve chvíli, kdy je Emacs spuštěn v prostředí grafického desktopu) otevřít další specializovaná okna, zejména okno s výpisem obsahu vybraných proměnných, obsahem bloku paměti, disassemblovaným kódem apod.

32

Obrázek 32: Nastavení breakpointů v laděném programu.

I přes všechny přednosti Emacsu nemusí být tento textový editor vhodný pro všechny uživatele. Jedna z jeho poněkud nepříjemných vlastností spočívá v použití mnohdy velmi komplikovaných klávesových zkratek, které jsou specifické právě pro Emacs a neodpovídají konvencím známým z jiných aplikací (to není ve skutečnosti tak úplně pravda, protože například aplikace používající GNU Readline, tj. BASH apod., některé základní zkratky přebraly). Samozřejmě je možné si celý Emacs překonfigurovat k obrazu svému, to však již vyžaduje poměrně sofistikované zásahy a nejedná se tedy o činnost vhodnou pro úplného začátečníka.

33

Obrázek 33: Program je možné ladit i na úrovni assembleru.

34

Obrázek 34: Obsah pracovních registrů při ladění programu.

6. Vim

Dlouholetým souputníkem a současně i velkým rivalem výše zmíněného textového editoru Emacs je programátorský textový editor nazvaný Vi, na něhož ideově navazuje v mnoha ohledech vylepšený textový editor Vim (zde se již nejedná „pouze“ o programátorský editor, ale o víceúčelovou aplikaci a v některých ohledech i o integrované vývojové prostředí). Textový editor Vim dlouhodobě náleží do skupiny nejoblíbenějších textových editorů určených jak pro operační systém Linux, tak i pro další operační systémy, mezi něž patří různé komerční Unixy, MS Windows, historické platformy Amiga a Atari ST atd.

18

Obrázek 35: Úvodní obrazovka textového editoru Vim v případě, že již při inicializaci nedošlo k načtení souboru.

Textový editor Vim nabízí mnoho nástrojů zejména programátorům, kteří mohou při své práci využít například zvýraznění zdrojových kódů různými barvami a typem písma, folding (zmíněný již v souvislosti s jEditem), spouštění překladače a analýzu jeho chybových hlášení či automatické přeformátování zdrojových kódů. Ovšem i autoři textových dokumentů zde naleznou užitečné nástroje, především pak automatické zalamování textu, které může být buď vizuální (tedy pouze na obrazovce editoru), nebo se do textu skutečně mohou vkládat řídicí znaky pro konce řádků. Nesmíme zapomenout ani na podporu kontroly textu s využitím rozšiřitelného thesauru.

19

Obrázek 36: Samotný textový editor Vim umožňuje ladění skriptů psaných ve Vim Scriptu, a to bez použití externího debuggeru.

Podobně jako tomu bylo v případě Emacsu a jeho skriptovacímu jazyka Elisp, i textový editor Vim se díky existenci jeho skriptovacího jazyka nazvaného Vim Script, podpoře maker, záložek (tabů), oken a bufferů může po instalaci vhodných pluginů změnit v poměrně robustní a přitom výkonné integrované vývojové prostředí, popř. alternativně pro prostředí určené pro tvorbu dokumentace v HTML, (La)TeXu, DocBooku, AsciiDocu, Markdownu atd. atd. Ostatně: tento článek byl téměř kompletně napsán ve Vimu (s výjimkou kapitoly o jEditu, která byla psána v tomto editoru) a veškerá editace probíhala na jednodeskovém mikropočítači Raspberry PI model B. I na takto vyložené slabém stroji byla práce ve Vimu dostatečně rychlá na komfortní práci.

37

Obrázek 37: Ve Vimu byl napsán i tento článek.

Kromě výše zmíněného jazyka Vim Script je možné pluginy pro textový editor Vim vytvářet i v dalších (skriptovacích) programovacích jazycích, například v Lue, Pythonu, Perlu či v Ruby. V dříve vydaném seriálu nazvaném Textový editor Vim jako IDE byl Vim script zmíněn a popsána byla i rozhraní pro další skriptovací jazyky. Kromě toho jsme se v tomto seriálu zmínili i o některých pluginech užitečných zejména při vývoji aplikací v různých programovacích jazycích. Vzhledem k tomu, že je textový editor Vim díky Vim scriptu otevřenou platformou, pro kterou lze pluginy vytvářet velmi snadno, není divu, že dnes existuje již několik tisíc různých rozšiřujících modulů, z nichž většina je dostupná na serveru http://www.vim.org.

38

Obrázek 38: Plugin pro práci s Gitem.

Mezi zápory Vimu patří z pohledu začátečního především jeho modální způsob ovládání, kdy se funkce jednotlivých kláves mění podle toho, v jakém režimu (módu) se editor v daném okamžiku nachází. Právě kvůli modálnímu ovládání je uživatel nucen přehodnotit většinu svých starších návyků. Z tohoto důvodu byl vytvořen speciální režim nazvaný „easy vim“, který je nastaven ve chvíli, kdy je Vim spuštěn příkazem evim či evim -g. V tomto režimu se již po spuštění editoru může provádět změna (editace) dokumentu a další funkce editoru jsou dostupné buď z menu, toolbaru či po stisku klávesové zkratky Ctrl+O. Navíc se změní funkce některých kláves takovým způsobem, aby se Vim choval podobně, jako další textové editory.

39

Obrázek 39: Plugin pro práci s Gitem: Zvýraznění změn provedených v určitém commitu.

Funkce některých kláves při spuštění Vimu příkazem evim či evim -g:

# Klávesa Význam
1 Ctrl+C kopie textu do schránky (copy)
2 Ctrl+X vyříznutí textu do schránky (cut)
3 Ctrl+V vložení textu ze schránky (paste)
4 Ctrl+Z návrat poslední provedené operace (undo)
5 Ctrl+Y redo
6 Ctrl+A výběr celého textu v dokumentu
7 Ctrl+Tab přepnutí oken
8 Ctrl+F4 zavření okna

40

Obrázek 40: Vim nemá při volbě správného fontu problémy ani s Unicode.