Užitečné skripty a pluginy pro textový editor Vim (3.část)

31. 3. 2015
Doba čtení: 17 minut

Sdílet

Ve třetí části článku o užitečných skriptech a pluginech rozšiřujících schopnosti textového editoru Vim si popíšeme následující pětici pluginů: Calendar, Rainbow Parentheses, vim-signature, SearchComplete a nakonec i populární plugin nazvaný ctrlp.vim.

Obsah

1. Užitečné skripty a pluginy pro textový editor Vim (3.část)

2. Plugin Calendar

   2.1 Popis pluginu Calendar

   2.2 Instalace pluginu Calendar

   2.3 Použití pluginu Calendar

3. Plugin Rainbow Parentheses

   3.1 Popis pluginu Rainbow Parentheses

   3.2 Instalace pluginu Rainbow Parentheses

   3.3 Použití pluginu Rainbow Parentheses

4. Plugin vim-signature

   4.1 Popis pluginu vim-signature

   4.2 Instalace pluginu vim-signature

   4.3 Použití pluginu vim-signature

5. Plugin SearchComplete

   5.1 Popis pluginu SearchComplete

   5.2 Instalace pluginu SearchComplete

   5.3 Použití pluginu SearchComplete

6. Plugin ctrlp.vim

   6.1 Popis pluginu ctrlp.vim

   6.2 Instalace pluginu ctrlp.vim

   6.3 Použití pluginu ctrlp.vim

7. Odkazy na Internetu

1. Užitečné skripty a pluginy pro textový editor Vim (3.část)

Ve třetí části článku o užitečných skriptech a pluginech určených pro textový editor Vim se seznámíme s pěti přídavnými moduly. Některé z těchto modulů jsou vlastně velmi jednoduché (stále však zůstávají praktické), další moduly jsou již mnohem komplikovanější. Mezi jednoduché pluginy, s nimiž se dnes seznámíme, patří především přídavný modul nazvaný příznačně Calendar popsaný ve druhé kapitole a taktéž modul pojmenovaný Rainbow Parentheses, o němž se zmíníme v kapitole třetí. Nezapomeneme ani na plugin vim-signatureSearchComplete. Mezi složitější moduly lze počítat především plugin ctrlp.vim. Všechny dnes popisované přídavné moduly mají jednu společnou vlastnost – mohou je využít prakticky všichni uživatelé, ať již se jedná o programátory, administrátory či tvůrce různých textových dokumentů. Až v části navazující se zaměříme na pluginy určené pro jednotlivé programovací či značkovací jazyky.

Obrázek 1: Nápověda k pluginu Calendar popsaného v následující kapitole.

2. Plugin Calendar

2.1 Popis pluginu Calendar

První vimovský plugin, který si dnes popíšeme, se jmenuje jednoduše Calendar. Název tohoto pluginu velmi přesně popisuje jeho funkci, protože se skutečně jedná o kalendář, který je navíc doplněný o možnost psát (a samozřejmě i zobrazovat) poznámky přidané k jednotlivým dnům. Samotný kalendář se zobrazuje ve vyhrazeném okně Vimu a již při jeho vyvolání lze ovlivnit způsob zobrazení kalendáře – umístění měsíců vedle sebe nebo pod sebe (viz též přiložené screenshoty). Poznámky zapsané k jednotlivým dnům se ukládají do jednoduchých textových souborů (používá se zvýraznění syntaxe Markdown) umístěných v podadresářích uložených v adresáři ~/diary. Díky tomu, že je formát poznámek skutečně velmi jednoduchý, lze je snadno prohledávat například příkazem grep. Tento plugin je naprogramovaný čistě ve VimScriptu, což znamená, že je ho možné použít jak v Linuxu, tak i v Microsoft Windows. O této vlastnosti se zmiňuji především z toho důvodu, že existují i další implementace kalendáře, které však volají externí (unixový) příkaz cal.

Obrázek 2: Zobrazení kalendáře ve vertikálně rozděleném okně. Aktuální den je zvýrazněn barevně a navíc je u něj zobrazena hvězdička.

2.2 Instalace pluginu Calendar

Instalace pluginu Calendar je velmi jednoduchá: postačuje stáhnout archiv obsahující tento skript a rozbalit ho do podadresáře ~/.vim/bundle. Opět tedy předpokládáme, že je nainstalován skript/správce balíčků Pathogen, o němž jsme se zmínili v první části tohoto článku. Instalaci pluginu Calendar provedeme následující sekvencí příkazů:

wget -O calendar.zip http://www.vim.org/scripts/download_script.php?src_id=19707
mkdir ~/.vim/bundle/calendar
unzip calendar.zip -d ~/.vim/bundle/calendar
rm calendar.zip

Výsledná struktura adresáře ~/.vim/ by mohla vypadat následovně:

.
├── autoload
├── bundle
│   ├── calendar
│   │   ├── autoload
│   │   ├── doc
│   │   └── plugin
│   └── vim-fugitive
│       ├── doc
│       └── plugin
└── spell

Obrázek 3: Poznámka vytvořená k vybranému dni. Povšimněte si, že se díky použití jazyka Markdown nadpisy a další prvky poznámky barevně zvýrazňují.

2.3 Použití pluginu Calendar

V pluginu Calendar jsou definovány dva nové příkazy:

Příkaz Význam
:Calendar vertikální rozdělení okna a zobrazení kalendáře v novém okně nalevo
:CalendarH horizontální rozdělení okna a zobrazení kalendáře v novém okně dole

V okně se zobrazeným kalendářem je možné použít následující klávesy:

Klávesa Význam
šipka doleva předchozí měsíc
šipka doprava následující měsíc
šipka nahoru předchozí rok
šipka dolů následující rok
t přechod na aktuální datum
q uzavření okna s kalendářem
Enter zobrazení/vytvoření poznámky pro vybraný den

Struktura adresáře ~/diary, do níž se pro jednotlivé dny ukládají poznámky, je velmi jednoduchá:

diary
└── 2015
    └── 3
        ├── 27.md
        └── 6.md

Obrázek 4: Zobrazení kalendáře v horizontálně rozděleném okně. Aktuální den je zvýrazněn barevně a navíc je u něj zobrazena hvězdička.

3. Plugin Rainbow Parentheses

3.1 Popis pluginu Rainbow Parentheses

Dalším jednoduchým, ovšem v praxi velmi užitečným pluginem, je přídavný modul nazvaný Rainbow Parenthesis. Tento plugin lze využít pro barevné odlišení párových závorek popř. taktéž – což může být pro mnoho uživatelů ještě zajímavější a užitečnější – k barevnému odlišení párových tagů, například vnořených značek <div> v HTML či XHTML. Tento plugin je zcela univerzální, čímž se odlišuje od podobně zaměřených pluginů, které jsou však specializované například pro programovací jazyk Lisp či Clojure (tj. pro jazyky, v nichž se párové závorky vyskytují s relativně vysokou frekvencí). Nejlépe si možnosti použití přídavného modulu Rainbow Parenthesis ukážeme na několika screenshotech, které jsou umístěny pod tímto odstavcem.

Obrázek 5: Zvýraznění párových závorek ve zdrojovém kódu programovacího jazyka Clojure.

Obrázek 6: Zvýraznění párových závorek ve zdrojovém kódu programovacího jazyka C.

3.2 Instalace pluginu Rainbow Parentheses

Pro instalaci tohoto modulu lze jednoduše použít Git, protože zdrojové kódy jsou uloženy na GitHubu:

cd ~/.vim/bundle
git clone https://github.com/luochen1990/rainbow
Cloning into 'rainbow'...
remote: Counting objects: 308, done.
remote: Total 308 (delta 0), reused 0 (delta 0), pack-reused 308
Receiving objects: 100% (308/308), 604.24 KiB | 628.00 KiB/s, done.
Resolving deltas: 100% (113/113), done.

Výsledná struktura adresáře ~/.vim/ by nyní měla vypadat následovně:

.
├── autoload
├── bundle
│   ├── calendar
│   │   ├── autoload
│   │   ├── doc
│   │   └── plugin
│   ├── rainbow
│   │   └── plugin
│   └── vim-fugitive
│       ├── doc
│       └── plugin
└── spell

Dále je nutné do konfiguračního souboru .vimrc přidat tento řádek:

let g:rainbow_active = 1

Funkce pluginu Rainbow Parentheses se projeví po novém startu editoru.

3.3 Použití pluginu Rainbow Parentheses

Plugin Rainbow Parentheses pracuje zcela automaticky po otevření každého souboru, pro nějž je v modulu zadefinováno, které znaky či skupiny znaků se mají považovat za párové závorky. K dispozici je jeden příkaz pro zapnutí či vypnutí funkce tohoto pluginu:

Příkaz Význam
:RainbowToggle zapnutí či vypnutí barevného zvýraznění párových závorek

Nastavení pluginu (lze změnit editací zdrojového skriptu):

Soubor Párové závorky
* () [] {}
*.tex () []
*.vim () [] {}
*.xml <jméno-tagu </
*.xhtml <jméno-tagu </
*.html dtto kromě několika vybraných nepárových tagů typu <br> atd.

Obrázek 7: Zvýraznění párových tagů v HTML dokumentu.

Obrázek 8: Zákaz zvýraznění párových tagů v HTML dokumentu příkazem :RainbowToggle.

4. Plugin vim-signature

V textovém editoru Vim se jak při běžné editaci, tak i při vytváření maker poměrně často pracuje s takzvanými značkami (marks). Nejedná se však o značky vytvářené externími nástroji a ukládané většinou do souboru pojmenovaného tags, ale o interní seznam pozic kurzoru (jakési „špendlíky“ zapíchnuté do důležitých míst) v souboru, na které se lze během editace vrátit, nebo na něž se lze odkazovat. Podobnou funkcionalitu nabízí i mnohé další programátorské textové editory, ovšem u nich se většinou jedná o maximálně deset značek, zatímco ve Vimu může být značek mnohem více, protože každé značce je přiřazeno jednopísmenné označení.

Obrázek 9: Příkaz :marks vypíše všechny platné značky pro právě aktivní buffer.

V rámci jednoho souboru lze lokálně používat značky pojmenované malými písmeny a až z, zatímco značky pojmenované velkými písmeny A až Z si „pamatují“ i jméno souboru, v němž jsou definovány, tudíž se jedná o značky globální. Speciální význam mají značky se jmény 0 až 9 (naplňované většinou při ukončování Vimu) a taktéž v některých případech velmi užitečná značka ". Významy některých jmen značek (ve skutečnosti jich je ještě mnohem více) jsou vypsány v následující tabulce:

Jméno značky Definice značky Význam
a-z manuálně značky lokální v rámci souboru
A-Z manuálně značky globální, ke značce je připojeno i jméno souboru
0–9 automaticky posledních deset pozic kurzoru při opuštění Vimu
< automaticky začátek vybraného bloku
> automaticky konec vybraného bloku
" automaticky pozice kurzoru při zavření bloku
^ automaticky pozice kurzoru, na níž se kurzor naposledy nacházel ve vkládacím režimu

Obrázek 10: Příklad výstupu příkazu :marks v případě, že jsou definovány čtyři globální značky A, B, C a Z.

4.1 Popis pluginu vim-signature

Značky za běžných okolností nejsou v editovaných dokumentech nijak viditelné, což ovšem poněkud zmenšuje jejich význam, protože vlastně netvoří plnohodnotné „záložky“. Tento nedostatek editoru Vim napravuje plugin nazvaný vim-signature, jenž využívá první dva sloupce okna pro zobrazení jmen značek. Vzhledem k omezení na dva sloupce je možné u každého řádku zobrazit pouze dvě značky, i když jich může být definovaných mnohem více (ve většině případů však toto omezení není vůbec dramatické). Kromě toho tento plugin deklaruje nové příkazy, například velmi užitečné příkazy m,m. popsané níže.

Obrázek 11: Nápověda k modulu vim-signature.

4.2 Instalace pluginu vim-signature

Po instalaci pluginu vim-signature opět využijeme Git, protože i tento plugin je uložen na GitHubu:

cd ~/.vim/bundle
git clone https://github.com/kshenoy/vim-signature
Cloning into 'vim-signature'...
remote: Counting objects: 867, done.
remote: Total 867 (delta 0), reused 0 (delta 0), pack-reused 867
Receiving objects: 100% (867/867), 832.85 KiB | 483.00 KiB/s, done.
Resolving deltas: 100% (347/347), done.
Checking connectivity... done.

Pro jistotu zkontrolujeme obsah adresáře ~/.vim/:

.
├── autoload
├── bundle
│   ├── calendar
│   │   ├── autoload
│   │   ├── doc
│   │   └── plugin
│   ├── rainbow
│   │   └── plugin
│   ├── vim-fugitive
│   │   ├── doc
│   │   └── plugin
│   └── vim-signature
│       ├── doc
│       └── plugin
│           └── signature
└── spell

Žádné další speciální nastavování ani povolování tento přídavný modul nevyžaduje!

4.3 Použití pluginu vim-signature

Práce se značkami je v mnoha ohledech velmi jednoduchá, ostatně všechny důležité příkazy najdete v následující tabulce:

Příkaz Význam
:marks výpis všech právě aktivních značek
:marks značka výpis vybrané značky
ma – mz definice lokální značky a-z
dma – dmz smazání lokální značky a-z (přidáno pluginem)
mA – mZ definice globální značky A-Z
dmA – dmZ smazání globální značky A-Z (přidáno pluginem)
m, vytvoření nové značky, automatická volba písmene (přidáno pluginem)
m. vytvoření nové značky, automatická volba písmene; pokud značka existuje, zruší se (přidáno pluginem)
'a – 'z skok na řádek, kde je značka definovaná (jedná se o příkaz pohybu kurzoru!)
'A – 'Z skok na soubor a řádek, kde je značka definovaná
`a – `z skok na přesné místo, kde je značka definovaná (jedná se o příkaz pohybu kurzoru!)
'A – 'Z skok na přesné místo (řádek i sloupec), kde je značka definovaná

Další příkazy jsou uvedeny v nápovědě:

:help signature.txt

V předchozí tabulce bylo uvedeno, že příkazy ‚a – ‘z i a</strong> až <strong> z jsou chápané jako příkazy pro pohyb kurzoru, což znamená, že tyto příkazy lze kombinovat například s editačními operátory d (delete), y (yank) a c (change). To je velmi užitečné, protože lze snadno vytvořit (lépe řečeno pouze označit) začátek „bloku“, například příkazem ma a posléze je možné kurzor přesunout na konec bloku a zvolit jeden z následujících příkazů (užitečnost ještě mnohem více stoupá při použití značek v makrech):

Příkaz Význam
c`a přepis části textu, jehož začátek je označený značkou a a konec je určený aktuální pozicí textového kurzoru
d`a výmaz části textu, jehož začátek je označený značkou a a konec je určený aktuální pozicí textového kurzoru
y`a vložení části textu, jehož začátek je označený značkou a a konec je určený aktuální pozicí textového kurzoru, do implicitního registru (bližší informace o registrech budou uvedeny v navazujícím textu)
gu`a změna na malá písmena
gu`a změna na velká písmena
gq`a zformátování bloku (jako textu)
=`a zformátování bloku (jako zdrojového kódu)

Obrázek 12: Na třech řádcích byla vytvořena jedna lokální značka a, b, c, na dalším řádku pak dvě lokální značky de.

Obrázek 13: Použití globálních značek i speciálních značek platných pouze pro tento plugin.

5. Plugin SearchComplete

5.1 Popis pluginu SearchComplete

Plugin nazvaný SearchComplete je typickou ukázkou přídavného modulu, který sice svým uživatelům nabízí pouze jedinou funkci, která jim ovšem dokáže poměrně významným způsobem zpříjemnit život. Tento modul funguje následovně: po zadání příkazu /, kterým se zahajuje vyhledávání, je možné pomocí klávesy <Tab> automaticky doplňovat slova nalezená v editovaném souboru (resp. přesněji řečeno v editovaném bufferu). Žádnou další funkci tento plugin nenabízí, ovšem jeho používání se ukazuje být silně návykové :-). Relativně jednoduchou úpravou zdrojového kódu lze docílit toho, aby tento plugin správně reagoval i na příkaz ?, tj. na vyhledávání textu opačným směrem.

5.2 Instalace pluginu SearchComplete

Instalaci tohoto přídavného modulu provedeme přes Git:

cd ~/vim/bundle
git clone https://github.com/vim-scripts/SearchComplete
Cloning into 'SearchComplete'...
remote: Counting objects: 11, done.
remote: Total 11 (delta 0), reused 0 (delta 0), pack-reused 11
Unpacking objects: 100% (11/11), done.
Checking connectivity... done.

Opět pro jistotu zkontrolujeme obsah adresáře ~/.vim/:

.
├── autoload
├── bundle
│   ├── calendar
│   │   ├── autoload
│   │   ├── doc
│   │   └── plugin
│   ├── rainbow
│   │   └── plugin
│   ├── searchcomplete
│   │   └── plugin
│   ├── vim-fugitive
│   │   ├── doc
│   │   └── plugin
│   └── vim-signature
│       ├── doc
│       └── plugin
│           └── signature
└── spell

Žádné další nastavení není zapotřebí provádět – plugin začne ihned fungovat.

5.3 Použití pluginu SearchComplete

Použití pluginu SearchComplete je velmi snadné a vlastně i automatické – po zahájení vyhledávání příkazem / (lomítko) je možné buď přímo stlačit klávesu [Tab] a procházet tak všemi symboly v editovaném souboru, nebo je možné napsat jen několik počátečních písmen symbolu a nechat si zbytek automaticky doplnit. Klávesou [Tab] lze přepínat mezi všemi nalezenými možnostmi.

6. Plugin ctrlp.vim

6.1 Popis pluginu ctrlp.vim

Pro mnoho uživatelů textového editoru Vim se stal velmi užitečným přídavným modulem plugin nazvaný ctrlp.vim. Po instalaci tohoto pluginu je možné přes klávesovou zkratku Ctrl-P, která modulu dala název, vyhledávat soubory, buffery atd., a to i s využitím regulárních výrazů. Podobně jako samotný Vim, i plugin ctrlp.vim se může nacházet v několika režimech, mezi nimiž se uživatel přepíná několika klávesovými zkratkami (každý režim je reprezentován jinou výzvou – prompt). Tento plugin taktéž dokáže vytvářet soubory i adresáře, otevřít větší množství souborů současně apod. Jedná se tedy o alternativu k minule popsanému pluginu NERD Tree, i když způsob ovládání NERT Tree se značně odlišuje od ovládání ctrlp.vim – každému uživateli bude vyhovovat něco jiného (druhý jmenovaný plugin má nepochybně větší množství příkazů, ovšem zpočátku je poněkud nepřehledný – tento problém však po několika použitích zmizí).

Obrázek 14: Nápověda k pluginu ctrlp.vim.

Obrázek 15: Výběr souborů pro editaci s využitím pluginu ctrlp.vim.

6.2 Instalace pluginu ctrlp.vim

Podobně jako tomu bylo u většiny pluginů popsaných v předchozích kapitolách, i v případě přídavného modulu ctrlp.vim použijeme Git pro naklonování Git repositáře obsahujícího celý plugin. Naklonování je nutné provést do adresáře ~/.vim/bundle, což zajistí následující dvojice příkazů:

cd ~/.vim/bundle
git clone https://github.com/kien/ctrlp.vim
Cloning into 'ctrlp.vim'...
remote: Counting objects: 2721, done.
remote: Total 2721 (delta 0), reused 0 (delta 0), pack-reused 2721
Receiving objects: 100% (2721/2721), 843.94 KiB | 660.00 KiB/s, done.
Resolving deltas: 100% (947/947), done.

Nyní by mělo být lokálně (tj. pouze pro aktivně přihlášeného uživatele) nainstalováno všech pět dnes popsaných modulů:

.
├── autoload
├── bundle
│   ├── calendar
│   │   ├── autoload
│   │   ├── doc
│   │   └── plugin
│   ├── ctrlp.vim
│   │   ├── autoload
│   │   │   └── ctrlp
│   │   ├── doc
│   │   └── plugin
│   ├── rainbow
│   │   └── plugin
│   ├── SearchComplete
│   │   └── plugin
│   ├── vim-fugitive
│   │   ├── doc
│   │   └── plugin
│   └── vim-signature
│       ├── doc
│       └── plugin
│           └── signature
└── spell

Obrázek 16: Výběr souborů pro editaci s využitím pluginu ctrlp.vim.

6.3 Použití pluginu ctrlp.vim

Plugin ctrlp.vim se vyvolá v normálním režimu klávesovou zkratkou Ctrl-P (kterou však je možné samozřejmě přemapovat). Po použití této zkratky se zobrazí nové horizontálně rozdělené okno se speciálně naformátovaným stavovým řádkem. Změní se i vstupní řádek, do něhož je možné začít zapisovat jméno souboru, resp. přesněji řečeno část jména – mnohdy postačuje zadat několik počátečních písmen či počáteční a koncové písmeno – ihned při psaní se seznam souborů zmenšuje či zvětšuje tak, aby odpovídal zadané masce. Soubory se vyhledávají jak v aktuálním adresáři, tak i v podadresářích, což je výhodné především ve chvíli, kdy uživatel pracuje na rozsáhlejším projektu. K dispozici je velké množství klávesových zkratek, zejména pak:

ict ve školství 24

Klávesová zkratka Význam
Ctrl+D přepnutí mezi vyhledáváním ve jménech souborů či i ve jménech souborů a adresářů (výchozí)
Ctrl+R přepnutí mezi použitím regexpů či tzv. řetězcového režimu (výchozí)
Ctrl+T otevření vybraného souboru v novém tabu
Ctrl+V vertikální rozdělení okna a otevření vybraného souboru
Ctrl+S horizontální rozdělení okna a otevření vybraného souboru
Ctrl+Z označení souboru (vedle jména souboru se zobrazí značka)
Ctrl+O otevření všech označených souborů
Tab automatické doplnění názvu adresáře
Esc zavření okna pluginu ctrlp.vim

V tabulce je mj. zmíněn tzv. řetězcový režim. Jedná se o způsob reprezentace masky bez explicitního použití regexpů. Po zadání řetězce „abc“ v řetězcovém režimu je tento řetězec interně chápán jako regulární výraz „a[^a]\{-}b[^b]\{-}c“, což sice vypadá poněkud složitě, nicméně řetězcový režim je v praxi dosti návykový :-)

Obrázek 17: Zvýraznění souborů na základě zapsané masky.

7. Odkazy na Internetu

  1. SearchComplete
    http://www.vim.org/scripts/scrip­t.php?script_id=474
  2. ShowMarks
    http://www.vim.org/scripts/scrip­t.php?script_id=152
  3. ctrlp.vim
    https://github.com/kien/ctrlp.vim
  4. ctrlp.vim
    http://kien.github.io/ctrlp.vim/
  5. vim-signature
    https://github.com/kshenoy/vim-signature
  6. Supertab
    http://www.vim.org/scripts/scrip­t.php?script_id=1643
  7. Supertab (GitHub)
    https://github.com/ervandew/supertab
  8. Vim Essential Plugin: NERD Tree
    http://code.tutsplus.com/tutorials/vim-essential-plugin-nerdtree–net-19692
  9. The NERD tree : A tree explorer plugin for navigating the filesystem
    http://vim.sourceforge.net/scrip­ts/script.php?script_id=1658
  10. NERD Tree Guide
    http://usevim.com/2012/07/18/ner­dtree/
  11. vcscommand.vim : CVS/SVN/SVK/git/hg/bzr integration plugin
    http://www.vim.org/scripts/scrip­t.php?script_id=90
  12. vcscommand na GitHubu
    https://github.com/vim-scripts/vcscommand.vim
  13. Popis skriptu Vim Pathogen
    http://www.vim.org/scripts/scrip­t.php?script_id=2332
  14. Poslední verze skriptu Vim Pathogen
    https://tpo.pe/pathogen.vim
  15. Nejlepší pluginy pro Vim
    http://vimawesome.com/
  16. Nejlepší pluginy pro Vim
    http://www.vim.org/scripts/scrip­t_search_results.php?order_by=ra­ting
  17. Vim-airline na GitHubu
    https://github.com/bling/vim-airline
  18. Vim-airline na www.vim.org
    http://www.vim.org/scripts/dow­nload_script.php?src_id=22726
  19. Vim-fugitive na GitHubu
    https://github.com/tpope/vim-fugitive
  20. Vim-fugitive na www.vim.org
    http://www.vim.org/scripts/scrip­t.php?script_id=2975
  21. Textový editor Vim jako IDE (seriál)
    http://www.root.cz/clanky/textovy-editor-vim-jako-ide/
  22. Building Vim
    http://vim.wikia.com/wiki/Bu­ilding_Vim
  23. Getting the Vim source with Mercurial
    http://vim.wikia.com/wiki/Get­ting_the_Vim_source_with_Mer­curial
  24. Vim Perl Interface
    http://vim.dindinx.net/vim7/html/if_per­l.txt.php
  25. Vim Perl Support
    http://www.softpanorama.or­g/Editors/Vimorama/vim_per­l_support.shtml
  26. VIM as Python IDE
    http://blog.dispatched.ch/2009/05/24/vim-as-python-ide/
  27. Stack Overflow: VIM: Perl interface: passing a variable to Perl and reading a vim variable from Perl
    http://stackoverflow.com/qu­estions/4999902/vim-perl-interface-passing-a-variable-to-perl-and-reading-a-vim-variable-from
  28. Stack Overflow: Getting started with vim scripting with Perl
    http://stackoverflow.com/qu­estions/2208618/getting-started-with-vim-scripting-with-perl
  29. Python with a modular IDE (Vim)
    http://www.sontek.net/python-with-a-modular-ide-vim
  30. Getting to VIM's Python interface
    http://zerokspot.com/weblog/2009/02/21/get­ting-to-know-vims-python-interface/
  31. Pretty-formatting XML
    http://vim.wikia.com/wiki/Pretty-formatting_XML
  32. Delete a pair of XML/HTML tags
    http://vim.wikia.com/wiki/De­lete_a_pair_of_XML/HTML_tags
  33. Vim as XML Editor
    http://www.pinkjuice.com/how­to/vimxml/
  34. xmledit: A filetype plugin to help edit XML, HTML, and SGML documents
    http://www.vim.org/scripts/scrip­t.php?script_id=301
  35. Poslední vývojová verze makra xmledit
    http://github.com/sukima/xmledit/
  36. vim.wikia: Display date-and-time on status line
    http://vim.wikia.com/wiki/Display_date-and-time_on_status_line
  37. vim.wikia: Writing a valid statusline
    http://vim.wikia.com/wiki/Wri­ting_a_valid_statusline
  38. vim.wikia: Statusline tab level ruler
    http://vim.wikia.com/wiki/Sta­tusline_tab_level_ruler
  39. vim.wikia: Switching between different statuslines
    http://vim.wikia.com/wiki/Swit­ching_between_different_sta­tuslines
  40. X Selections, Cut Buffers, and Kill Rings
    http://www.jwz.org/doc/x-cut-and-paste.html
  41. Accessing the system clipboard
    http://vim.wikia.com/wiki/Ac­cessing_the_system_clipbo­ard
  42. xcutsel(1) – Linux man page
    http://linux.die.net/man/1/xcutsel
  43. snipMate : TextMate-style snippets for Vim
    http://www.vim.org/scripts/scrip­t.php?script_id=2540
  44. msanders / snipmate.vim
    https://github.com/msander­s/snipmate.vim
  45. snipMate.vim Introductory Screencast
    http://vimeo.com/3535418
  46. Clewn home page
    http://clewn.sourceforge.net/
  47. How to connect vim with gdb – using clewn
    http://chunhao.net/blog/how-to-connect-vim-with-gdb-using-clewn
  48. yavdb : Yet Another (Generic) Vim Debugger Integration
    http://www.vim.org/scripts/scrip­t.php?script_id=1954
  49. Vim home page
    http://www.vim.org/
  50. vim (man page)
    http://www.linux-tutorial.info/modules.php?na­me=ManPage&sec=1&manpage=vim
  51. Tutorial: Make Vim as Your C/C++ IDE Using c.vim Plugin
    http://www.thegeekstuff.com/2009/01/tu­torial-make-vim-as-your-cc-ide-using-cvim-plugin/
  52. c.vim : C/C++ IDE
    http://vim.sourceforge.net/scrip­ts/script.php?script_id=213
  53. c.vim : C/C++ IDE key mappings
    http://lug.fh-swf.de/vim/vim-c/c-hotkeys.pdf
  54. Základní základy editoru Vim
    http://www.root.cz/clanky/zakladni-zaklady-editoru-vim/
  55. Jak si přizpůsobit Vim
    http://www.root.cz/serialy/jak-si-prizpusobit-vim/
  56. Taglist (plugin)
    http://www.vim.org/scripts/scrip­t.php?script_id=273
  57. The NERD tree: A tree explorer plugin for navigating the filesystem
    http://www.vim.org/scripts/scrip­t.php?script_id=1658
  58. JavaBrowser : Shows java file class, package in a tree as in IDEs. Java source browser.
    http://www.vim.org/scripts/scrip­t.php?script_id=588
  59. snippetsEmu : An attempt to emulate TextMate's snippet expansion
    http://www.vim.org/scripts/scrip­t.php?script_id=1318

Autor článku

Vystudoval VUT FIT a v současné době pracuje na projektech vytvářených v jazycích Python a Go.