Obsah
1. Užitečné skripty a pluginy pro textový editor Vim
3. Instalace skriptu Vim Pathogen
5. Nastavení pluginu vim-airline
6. Zobrazení řádku se seznamem otevřených bufferů
7. Použití fontů upravených pro vim-airline
1. Užitečné skripty a pluginy pro textový editor Vim
Textový editor Vim stále 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. K oblíbenosti tohoto textového editoru přispívá – kromě modálního ovládání – jak možnost široké konfigurace jeho parametrů, tak i možnost tvorby maker a existence skriptovacího jazyka nazvaného Vim script, v němž je možné psát mnohdy i velmi rozsáhlé rozšiřující moduly (pluginy). Kromě toho je možné pluginy 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:
- Textový editor Vim jako IDE (6.část – Vim Script)
http://www.root.cz/clanky/textovy-editor-vim-jako-ide-6-cast-vim-script/ - Textový editor Vim jako IDE (7.část – Vim Script)
http://www.root.cz/clanky/textovy-editor-vim-jako-ide-7-cast-vim-script/ - Textový editor Vim jako IDE (16. část – kooperace mezi Vimem a skriptovacími jazyky)
http://www.root.cz/clanky/textovy-editor-vim-jako-ide-16-cast-kooperace-mezi-vimem-a-skriptovacimi-jazyky/ - Textový editor Vim jako IDE (17. část – kooperace mezi Vimem a jazykem Perl)
http://www.root.cz/clanky/textovy-editor-vim-jako-ide-17-cast-kooperace-mezi-vimem-a-jazykem-perl/ - Textový editor Vim jako IDE (12.část: konfigurace pravítka a stavového řádku)
http://www.root.cz/clanky/textovy-editor-vim-jako-ide-12-cast-konfigurace-pravitka-a-stavoveho-radku/

Obrázek 1: Nápověda k pluginu vim-airline popsaného v dalších kapitolách. Povšimněte si použití speciálních znaků (pravá a levá šipka, zámek, LN apod.); použití těchto znaků vyžaduje instalaci upraveného fontu, o čemž se zmíníme v dalších kapitolá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. My se dnes seznámíme s dvojicí pluginů. Prvním pluginem je skript nazvaný Vim Pathogen zajišťující jednoduchou instalaci ostatních pluginů – jedná se tedy o jakýsi velmi snadno ovladatelný správce vimovských balíčků. Další plugin, který se jmenuje vim-airline, je možné použít pro úpravu stavového řádku a popř. i druhého stavového řádku se seznamem otevřených bufferů či otevřených tabů.

Obrázek 2: Nápověda k pluginu fugitive popsaného ve druhé části tohoto článku. I zde jsou použity speciální znaky zmíněné u prvního obrázku.
2. Skript Vim Pathogen
První vimovský skript, který si v dnešním článku popíšeme, se jmenuje Vim Pathogen. Jedná se o velmi užitečný skript, který lze využít pro snadnou instalaci a odinstalaci dalších pluginů pro Vim. Jaká je vlastně funkce Vim Pathogenu? Textový editor Vim ve svém výchozím nastavení očekává, že rozšiřující moduly budou dodržovat určitou pevně danou strukturu: plugin může obsahovat vlastní skript, nápovědu, soubor s definicí syntaxe (zvýraznění syntaxe), barvové schéma, deklarace šablony chybových hlášení překladače (pro analýzu chyb), maker atd. Každý z těchto souborů se hledá v jiném podadresáři umístěném v některém adresáři obsaženém v seznamu adresářů získaných konfigurační volbou runtimepath. To však představuje problém, protože to například znamená, že nápovědy ke všem pluginům budou umístěny v jednom společném adresáři, všechny skripty v adresáři dalším apod. To vede jak ke kolizím v názvech souborů, tak i ke složitému ručnímu odstraňování již nepotřebných pluginů.

Obrázek 3: Příklad nastavení konfigurační volby nazvané runtimepath. Toto nastavení může být na jiných systémech (či dokonce na odlišných verzích toho samého systému) poněkud odlišné, důležité však je, zda tato volba obsahuje i adresář ~/.vim (zde je tento adresář uveden na prvním místě).
Podívejme se na konkrétní příklad instalace Vimu na mém pracovním počítači:
:set runtimepath?
Tento příkaz vrátí následující seznam adresářů (oddělených čárkou):
runtimepath=~/.vim,/var/lib/vim/addons,/usr/share/vim/vimfiles, /usr/share/vim/vim74,/usr/share/vim/vimfiles/after, /var/lib/vim/addons/after,~/.vim/after
Většina skriptů, maker, nápovědy, barvových schémat atd. nainstalovaných společně s Vimem je na tomto systému uložena do adresářové struktury umístěné v /usr/share/vim/vim74. Na této adresářové struktuře je poměrně dobře patrné rozdělení jednotlivých částí pluginů do různých podadresářů:
. ├── autoload │ └── xml ├── colors ├── compiler ├── doc ├── ftplugin ├── indent ├── keymap ├── lang │ ├── cs │ │ └── LC_MESSAGES │ ├── cs.cp1250 │ │ └── LC_MESSAGES ... ... ... ├── macros │ ├── hanoi │ ├── life │ ├── maze │ └── urm ├── plugin ├── print ├── spell ├── syntax └── tutor
Skript Vim Pathogen mění nastavení textového editoru Vim takovým způsobem, aby bylo možné každý plugin nainstalovat do samostatného podadresáře ~/.vim/bundle/${jméno_pluginu}, což vlastně znamená, že veškerá instalace pluginu se může provést jediným příkazem cp -r … popř. přímo naklonováním repositáře s pluginem (což si ukážeme v navazujících kapitolách). Odinstalace je ještě jednodušší, protože vše zajistí příkaz rm -rf ~/.vim/bundle/${jméno_pluginu}:
. ├── autoload │ └── pathogen.vim └── bundle ├── plugin#1 │ ├── autoload │ ├── doc │ └── plugin ├── plugin#2 │ ├── autoload │ ├── doc │ └── plugin ... ... ... └── plugin#n ├── autoload ├── doc └── plugin
3. Instalace skriptu Vim Pathogen
Instalace skriptu Vim Pathogen je velmi jednoduchá. Tento skript je možné nainstalovat pro všechny uživatele, kteří se k danému počítači připojují, nebo alternativně jen pro jednoho uživatele, což je pro běžné pracovní laptopy i desktopy pravděpodobně typičtější případ. Pokud má být Vim Pathogen používán všemi uživateli, bude jeho instalace probíhat do adresáře /usr/share/vim/vimfiles, /usr/share/vim/vim74 atd. v závislosti na již zmíněné konfigurační volbě runtimepath. Jednodušší a podle mého názoru i v některých ohledech výhodnější je však instalace tohoto skriptu pouze pro aktivního uživatele. Tuto instalaci si nyní popíšeme.
Předpokládejme, že adresář ~/.vim má následující strukturu (jediné dva zobrazené soubory jsou používány při kontrole pravopisu, ovšem ve skutečnosti je pravděpodobné, že tento adresář již bude obsahovat pluginy nainstalované dříve):
.vim └── spell ├── cs.iso-8859-2.spl └── cs.utf-8.spl
Vim Pathogen je tvořen skutečně pouze jedním skriptem pojmenovaným pathogen.vim. Tento skript se musí stáhnout a umístit do adresáře ~/.vim/autoload. Stažení a instalace skriptu je velmi jednoduchá: zajistí ji pouhé dva příkazy vypsané pod tímto odstavcem:
mkdir -p ~/.vim/autoload curl -LSso ~/.vim/autoload/pathogen.vim https://tpo.pe/pathogen.vim
Výsledná adresářová struktura bude vypadat takto:
.vim ├── autoload │ └── pathogen.vim └── spell ├── cs.iso-8859-2.spl └── cs.utf-8.spl
Aby se skript Vim Pathogen korektně aktivoval po každém spuštění Vimu, je nutné provést ještě malou úpravu konfiguračního souboru .vimrc umístěného v domácím adresáři. Do tohoto souboru se musí dopsat volání funkce:
execute pathogen#infect()
Pozor: volání této funkce je nutné provést až ve chvíli, kdy je nastavena volba set nocompatible, jinak inicializace neproběhne korektně! (ostatně nastavení set nocompatible by mělo být jednou z prvních věci prováděných při inicializaci Vimu :-)
Aby se správně zobrazovala i nápověda k nainstalovaným pluginům, je vhodné ihned pod výše uvedený příkaz zadat i:
call pathogen#helptags()
Od této chvíle budou všechny pluginy instalovány do adresáře ~/.vim/bundle, který je nutné vytvořit, pokud již neexistuje:
mkdir -p ~/.vim/bundle
Výsledná struktura adresáře ~/.vim by měla vypadat následovně:
.vim ├── autoload │ └── pathogen.vim ├── bundle └── spell ├── cs.iso-8859-2.spl └── cs.utf-8.spl
4. Plugin vim-airline
Druhý plugin určený pro textový editor Vim se jmenuje vim-airline (neplést prosím s Vim Airlines :-). Doplňkový modul vim-airline slouží především k úpravě stavového řádku (status line), ovšem je ho možné použít taktéž k zobrazení dalšího řádku obsahujícího seznam otevřených bufferů. Informace zobrazené na stavovém řádku – včetně aktuálně nastaveného režimu editoru – jsou vizuálně zvýrazněny různou barvou písma a pozadí, ovšem navíc je možné použít i speciální fonty obsahující ikony, které vim-airline může využít pro další „vyšperkování“. To je ostatně patrné i při pohledu na screenshoty použité v této kapitole i v navazujících dvou kapitolách. vim-airline lze navíc snadno upravovat, což se týká jak použitého barvového schématu, tak i konkrétních informací, které se mají na stavovém řádku zobrazit. V případě potřeby se vim-airline vypne jediným příkazem, po jehož zadání se textový editor Vim chová tak, jako by tento plugin vůbec nebyl inicializován.

Obrázek 4: Textový editor Vim bez inicializovaného pluginu vim-airline. Stavový řádek není zobrazen vůbec, protože je otevřeno jen jedno okno a volba laststatus je nastavena na jedničku. Poslední řádek je rezervován pro zobrazení pravítka (ruler).

Obrázek 5: Textový editor Vim s inicializovaným pluginem vim-airline. Statový řádek je v tomto případě zobrazen, a to díky použití konfigurační volby set laststatus=2.
Nejprve si řekněme, jakým způsobem je možné vim-airline nainstalovat. Předpokládejme, že struktura adresáře ~/.vim odpovídá struktuře popsané výše a že skript Vim Pathogen je korektně nakonfigurován a spouštěn:
.vim ├── autoload │ └── pathogen.vim ├── bundle └── spell ├── cs.iso-8859-2.spl └── cs.utf-8.spl
Instalaci pluginu vim-airline lze nejjednodušeji provést těmito příkazy:
wget -O airline.zip http://www.vim.org/scripts/download_script.php?src_id=22726 unzip -d ~/.vim/bundle airline.zip
Nová struktura adresáře ~/.vim by měla vypadat přibližně takto:
.vim ├── autoload │ └── pathogen.vim ├── bundle │ └── vim-airline │ ├── autoload │ │ ├── airline │ │ │ ├── builder.vim │ │ │ ├── debug.vim │ │ │ ├── deprecation.vim │ │ │ ├── extensions │ │ │ │ ├── branch.vim │ │ │ │ ├── bufferline.vim │ │ │ │ ├── capslock.vim │ │ │ │ ├── commandt.vim │ │ │ │ ├── csv.vim │ │ │ │ ├── ctrlp.vim │ │ │ │ ├── ctrlspace.vim │ │ │ │ ├── default.vim │ │ │ │ ├── eclim.vim │ │ │ │ ├── example.vim │ │ │ │ ├── hunks.vim │ │ │ │ ├── netrw.vim │ │ │ │ ├── nrrwrgn.vim │ │ │ │ ├── promptline.vim │ │ │ │ ├── quickfix.vim │ │ │ │ ├── syntastic.vim │ │ │ │ ├── tabline │ │ │ │ │ ├── autoshow.vim │ │ │ │ │ ├── buffers.vim │ │ │ │ │ ├── buflist.vim │ │ │ │ │ ├── formatters │ │ │ │ │ │ ├── default.vim │ │ │ │ │ │ ├── unique_tail_improved.vim │ │ │ │ │ │ └── unique_tail.vim │ │ │ │ │ └── tabs.vim │ │ │ │ ├── tabline.vim │ │ │ │ ├── tagbar.vim │ │ │ │ ├── tmuxline.vim │ │ │ │ ├── undotree.vim │ │ │ │ ├── unite.vim │ │ │ │ ├── virtualenv.vim │ │ │ │ ├── whitespace.vim │ │ │ │ └── windowswap.vim │ │ │ ├── extensions.vim │ │ │ ├── highlighter.vim │ │ │ ├── init.vim │ │ │ ├── parts.vim │ │ │ ├── section.vim │ │ │ ├── themes │ │ │ │ ├── badwolf.vim │ │ │ │ ├── base16.vim │ │ │ │ ├── bubblegum.vim │ │ │ │ ├── dark.vim │ │ │ │ ├── durant.vim │ │ │ │ ├── hybrid.vim │ │ │ │ ├── jellybeans.vim │ │ │ │ ├── kalisi.vim │ │ │ │ ├── kolor.vim │ │ │ │ ├── laederon.vim │ │ │ │ ├── light.vim │ │ │ │ ├── lucius.vim │ │ │ │ ├── luna.vim │ │ │ │ ├── molokai.vim │ │ │ │ ├── monochrome.vim │ │ │ │ ├── murmur.vim │ │ │ │ ├── powerlineish.vim │ │ │ │ ├── raven.vim │ │ │ │ ├── serene.vim │ │ │ │ ├── silver.vim │ │ │ │ ├── simple.vim │ │ │ │ ├── solarized.vim │ │ │ │ ├── sol.vim │ │ │ │ ├── tomorrow.vim │ │ │ │ ├── ubaryd.vim │ │ │ │ ├── understated.vim │ │ │ │ ├── wombat.vim │ │ │ │ └── zenburn.vim │ │ │ ├── themes.vim │ │ │ └── util.vim │ │ └── airline.vim │ ├── doc │ │ ├── airline.txt │ │ └── tags │ ├── Gemfile │ ├── LICENSE │ ├── plugin │ │ └── airline.vim │ ├── Rakefile │ ├── README.md │ └── t │ ├── airline.vim │ ├── builder.vim │ ├── commands.vim │ ├── extensions_default.vim │ ├── highlighter.vim │ ├── init.vim │ ├── parts.vim │ ├── section.vim │ ├── themes.vim │ └── util.vim └── spell ├── cs.iso-8859-2.spl └── cs.utf-8.spl

Obrázek 6: Nápověda k modulu vim-airline zobrazená v novém (druhém) okně. Povšimněte si, že neaktivní okno má stavový řádek odlišný od aktivního okna, tj. okna, v němž se nachází kurzor.
5. Nastavení pluginu vim-airline
Doplňkový modul vim-airline by měl začít automaticky pracovat již po dalším spuštění textového editoru Vim. Ve skutečnosti se většinou funkce tohoto modulu projeví až při otevření většího množství oken, protože mnoho uživatelů má Vim nakonfigurovaný takovým způsobem, že se stavový řádek zobrazuje až při otevření druhého (či dalšího) okna. Pokud chcete, aby se stavový řádek zobrazoval vždy, tj. i ve chvíli, kdy je otevřeno jen jedno okno, je úprava konfigurace Vimu velmi snadná:
set laststatus=2

Obrázek 7: Nastavení volby laststatus na hodnotu 2. Nastavení této volby zajistí zobrazení stavového řádku i v případě, že je zobrazeno jen jedno okno (osobně si myslím, že na širokoúhlých monitorech je to spíše plýtvání místem :-)
Modul vim-airline deklaruje několik nových příkazů, především:
# | Příkaz | Význam |
---|---|---|
1 | :AirlineToggle | zapnutí či vypnutí tohoto modulu |
2 | :AirlineRefresh | překreslení stavové řádky |
3 | :AirlineTheme jméno | nastavení barvového schématu |
U posledního příkazu je možné namísto jména barvového schématu stlačit klávesu [Tab], která vypíše všechna dostupná barvová schémata. Pokud tato klávesa nepracuje podle očekávání, zkontrolujte volbu :set wildmenu (musí být nastavena/povolena). Současná verze pluginu vim-airline obsahuje následující barvová schémata:
badwolf |
base16 |
bubblegum |
dark |
durant |
hybrid |
jellybeans |
kalisi |
kolor |
laederon |
light |
lucius |
luna |
molokai |
monochrome |
murmur |
powerlineish |
raven |
serene |
silver |
simple |
solarized |
sol |
tomorrow |
ubaryd |
understated |
wombat |
zenburn |

Obrázek 8: Povšimněte si, jak stavová řádka změnila barvu při přechodu do režimu výběru vertikálních bloků textu (horní okno).
6. Zobrazení řádku se seznamem otevřených bufferů
Pokud se v konfiguračním souboru .vimrc nastaví následující proměnná:
let g:airline#extensions#tabline#enabled = 1
přepne se modul vim-airline do upravené konfigurace, v níž se na prvním řádku zobrazí seznam aktuálně otevřených bufferů. Toto chování může vyhovovat například těm uživatelům, kteří nepoužívají taby, i když ve skutečnosti je možné kombinovat větší množství tabů i bufferů: to, zda je zobrazován seznam tabů či bufferů, je indikováno v pravém horním rohu, kde se vyskytuje buď zvýrazněné slovo [buffers] či [tabs]. Toto slovo je dokonce v případě GVimu aktivní, tj. lze na něj kliknout myší a přepínat tak režim zobrazení.

Obrázek 9: V horní části okna (na prvním řádku) je nyní zobrazen seznam otevřených bufferů.
Kromě výše zmíněné volby lze chování pluginu vim-airline ovlivnit i nastavením dalších globálních proměnných, především pak:
Volba | Význam |
---|---|
g:airline_left_sep | znak použitý jako separátor na levé straně stavového řádku |
g:airline_right_sep | znak použitý jako separátor na pravé straně stavového řádku |
g:airline_inactive_collapse | chování zobrazení informací u neaktivních oken |
g:airline_mode_map | komplexní volba pro způsob nastavení zobrazení různých režimů Vimu |
g:airline_section[abc] | nastavení informací, které se mají zobrazit v jednotlivých sekcích stavového řádku |

Obrázek 10: Použití speciálního fontu pro vim-airline a seznam otevřených bufferů v horní části okna.
7. Použití fontů upravených pro vim-airline
V případě, že se Vim-airline používá v Gvimu či v Kvimu, tj. ve variantě textového editoru Vim s grafickým uživatelským rozhraním, je možné si (lokálně) nainstalovat fonty obsahující speciální znaky, jež mohou být použity pro vylepšení vzhledu stavového řádku i pro zobrazení některých „ikon“ reprezentujících stav otevřeného bufferu, například informaci o tom, že je nějaký soubor určený pouze pro čtení (ikona zámku). Podívejme se nyní na způsob instalace takto upravených fontů. Ty jsou již připraveny na stránce https://github.com/powerline/fonts, což mj. znamená, že instalace může proběhnout s využitím GITu:
mkdir -p ~/.fonts git clone https://github.com/powerline/fonts.git cd fonts ./install.sh
Po provedení těchto čtyř příkazů by se měl v domácím adresáři objevit adresář nazvaný fonts obsahující tyto soubory:
Anonymice Powerline Bold Italic.ttf Anonymice Powerline Bold.ttf Anonymice Powerline Italic.ttf Anonymice Powerline.ttf DejaVu Sans Mono Bold for Powerline.ttf DejaVu Sans Mono Bold Oblique for Powerline.ttf DejaVu Sans Mono for Powerline.ttf DejaVu Sans Mono Oblique for Powerline.ttf Droid Sans Mono for Powerline.otf FuraMono-Bold Powerline.otf FuraMono-Medium Powerline.otf FuraMono-Regular Powerline.otf Inconsolata-dz for Powerline.otf Inconsolata for Powerline.otf Inconsolata-g for Powerline.otf Literation Mono Powerline Bold Italic.ttf Literation Mono Powerline Bold.ttf Literation Mono Powerline Italic.ttf Literation Mono Powerline.ttf Meslo LG L DZ Regular for Powerline.otf Meslo LG L Regular for Powerline.otf Meslo LG M DZ Regular for Powerline.otf Meslo LG M Regular for Powerline.otf Meslo LG S DZ Regular for Powerline.otf Meslo LG S Regular for Powerline.otf Monofur Bold for Powerline.ttf Monofur for Powerline.ttf Monofur Italic for Powerline.ttf Sauce Code Powerline Black.otf Sauce Code Powerline Bold.otf Sauce Code Powerline ExtraLight.otf Sauce Code Powerline Light.otf Sauce Code Powerline Medium.otf Sauce Code Powerline Regular.otf Sauce Code Powerline Semibold.otf ter-powerline-x12b.pcf.gz ter-powerline-x12n.pcf.gz ter-powerline-x14b.pcf.gz ter-powerline-x14n.pcf.gz ter-powerline-x16b.pcf.gz ter-powerline-x16n.pcf.gz ter-powerline-x18b.pcf.gz ter-powerline-x18n.pcf.gz ter-powerline-x20b.pcf.gz ter-powerline-x20n.pcf.gz ter-powerline-x22b.pcf.gz ter-powerline-x22n.pcf.gz ter-powerline-x24b.pcf.gz ter-powerline-x24n.pcf.gz ter-powerline-x28b.pcf.gz ter-powerline-x28n.pcf.gz ter-powerline-x32b.pcf.gz ter-powerline-x32n.pcf.gz Ubuntu Mono derivative Powerline Bold Italic.ttf Ubuntu Mono derivative Powerline Bold.ttf Ubuntu Mono derivative Powerline Italic.ttf Ubuntu Mono derivative Powerline.ttf

Obrázek 11: Výběr fontu po zadání příkazu :set guifont=*. V okně s názvy fontů se nyní nachází i fonty, v jejichž názvu se objevuje řetězec „…for Powerline“. Právě tyto fonty obsahují speciální znaky využívané mj. i pluginem vim-airline.
Jedná se o následující upravené fonty:
# | Původní font | Nové jméno |
---|---|---|
1 | Anonymous Pro | Anonymice Powerline |
2 | DejaVu Sans Mono | DejaVu Sans Mono for Powerline |
3 | Droid Sans Mono | Droid Sans Mono for Powerline |
4 | Inconsolata | Inconsolata for Powerline |
5 | Inconsolata-dz | Inconsolata-dz for Powerline |
6 | Inconsolata-g | Inconsolata-g for Powerline |
7 | Liberation Mono | Literation Mono Powerline |
8 | Meslo | Meslo for Powerline |
9 | Source Code Pro | Sauce Code Powerline |
10 | Terminus | Terminess Powerline |
11 | Ubuntu Mono | Ubuntu Mono derivative Powerline |
12 | Monofur | Monofur for Powerline |
Do souboru ~/.vimrc je nutné přidat tento řádek:
let g:airline_powerline_fonts = 1
Následně je již možné si interaktivně zvolit vhodný font příkazem:
:set guifont=*
Pro šťastné uživatele vlastnící displej s vysokým rozlišením je určen například font Inconsolata-g, pro displeje s nižším rozlišením pak font Terminess Powerline.

Obrázek 12: Vim-airline v situaci, kdy používá „kompatibilní“ font. Můžeme zde vidět znak se zámkem (nápověda je vždy otevřena v režimu read-only), pravé a levé šipky/trojúhelníky a mj. i znak LN v pravém dolním rohu.
8. Obsah druhé části článku
Ve druhé části tohoto článku si popíšeme několik dalších populárních a často využívaných pluginů určených pro rozšíření schopností textového editoru Vim. Zabývat se budeme především pluginem nazvaným Fugitive. Jedná se o přídavný modul užitečný zejména pro vývojáře, autory dokumentace a administrátory používající distribuovaný systém pro správu verzí Git. S využitím Fugitive je možné přímo z Vimu vyvolávat většinu příkazů GITu, používat režim diff pro zobrazení změn, které se budou commitovat, zobrazit informaci o tom, který uživatel a v jakém commitu upravil jednotlivé řádky (programového) kódu atd. Kromě pluginu Fugitive si popíšeme i další – většinou jednodušší – přídavné moduly, například Vim-indent-guides, Vim-colors-solarized, SnipMate atd.

Obrázek 13: Plugin fugitive v akci – Git commit.

Obrázek 14: Plugin fugitive v akci – Git diff.

Obrázek 15: Plugin fugitive v akci – Git blame.
9. Odkazy na Internetu
- Popis skriptu Vim Pathogen
http://www.vim.org/scripts/script.php?script_id=2332 - Poslední verze skriptu Vim Pathogen
https://tpo.pe/pathogen.vim - Nejlepší pluginy pro Vim
http://vimawesome.com/ - Nejlepší pluginy pro Vim
http://www.vim.org/scripts/script_search_results.php?order_by=rating - Vim-airline na GitHubu
https://github.com/bling/vim-airline - Vim-airline na www.vim.org
http://www.vim.org/scripts/download_script.php?src_id=22726 - Vim-fugitive na GitHubu
https://github.com/tpope/vim-fugitive - Vim-fugitive na www.vim.org
http://www.vim.org/scripts/script.php?script_id=2975 - Textový editor Vim jako IDE (seriál)
http://www.root.cz/clanky/textovy-editor-vim-jako-ide/ - Building Vim
http://vim.wikia.com/wiki/Building_Vim - Getting the Vim source with Mercurial
http://vim.wikia.com/wiki/Getting_the_Vim_source_with_Mercurial - Vim Perl Interface
http://vim.dindinx.net/vim7/html/if_perl.txt.php - Vim Perl Support
http://www.softpanorama.org/Editors/Vimorama/vim_perl_support.shtml - VIM as Python IDE
http://blog.dispatched.ch/2009/05/24/vim-as-python-ide/ - Stack Overflow: VIM: Perl interface: passing a variable to Perl and reading a vim variable from Perl
http://stackoverflow.com/questions/4999902/vim-perl-interface-passing-a-variable-to-perl-and-reading-a-vim-variable-from - Stack Overflow: Getting started with vim scripting with Perl
http://stackoverflow.com/questions/2208618/getting-started-with-vim-scripting-with-perl - Python with a modular IDE (Vim)
http://www.sontek.net/python-with-a-modular-ide-vim - Getting to VIM's Python interface
http://zerokspot.com/weblog/2009/02/21/getting-to-know-vims-python-interface/ - Pretty-formatting XML
http://vim.wikia.com/wiki/Pretty-formatting_XML - Delete a pair of XML/HTML tags
http://vim.wikia.com/wiki/Delete_a_pair_of_XML/HTML_tags - Vim as XML Editor
http://www.pinkjuice.com/howto/vimxml/ - xmledit: A filetype plugin to help edit XML, HTML, and SGML documents
http://www.vim.org/scripts/script.php?script_id=301 - Poslední vývojová verze makra xmledit
http://github.com/sukima/xmledit/ - vim.wikia: Display date-and-time on status line
http://vim.wikia.com/wiki/Display_date-and-time_on_status_line - vim.wikia: Writing a valid statusline
http://vim.wikia.com/wiki/Writing_a_valid_statusline - vim.wikia: Statusline tab level ruler
http://vim.wikia.com/wiki/Statusline_tab_level_ruler - vim.wikia: Switching between different statuslines
http://vim.wikia.com/wiki/Switching_between_different_statuslines - X Selections, Cut Buffers, and Kill Rings
http://www.jwz.org/doc/x-cut-and-paste.html - Accessing the system clipboard
http://vim.wikia.com/wiki/Accessing_the_system_clipboard - xcutsel(1) – Linux man page
http://linux.die.net/man/1/xcutsel - snipMate : TextMate-style snippets for Vim
http://www.vim.org/scripts/script.php?script_id=2540 - msanders / snipmate.vim
https://github.com/msanders/snipmate.vim - snipMate.vim Introductory Screencast
http://vimeo.com/3535418 - Clewn home page
http://clewn.sourceforge.net/ - How to connect vim with gdb – using clewn
http://chunhao.net/blog/how-to-connect-vim-with-gdb-using-clewn - yavdb : Yet Another (Generic) Vim Debugger Integration
http://www.vim.org/scripts/script.php?script_id=1954 - Vim home page
http://www.vim.org/ - vim (man page)
http://www.linux-tutorial.info/modules.php?name=ManPage&sec=1&manpage=vim - Tutorial: Make Vim as Your C/C++ IDE Using c.vim Plugin
http://www.thegeekstuff.com/2009/01/tutorial-make-vim-as-your-cc-ide-using-cvim-plugin/ - c.vim : C/C++ IDE
http://vim.sourceforge.net/scripts/script.php?script_id=213 - c.vim : C/C++ IDE key mappings
http://lug.fh-swf.de/vim/vim-c/c-hotkeys.pdf - Základní základy editoru Vim
http://www.root.cz/clanky/zakladni-zaklady-editoru-vim/ - Jak si přizpůsobit Vim
http://www.root.cz/serialy/jak-si-prizpusobit-vim/ - Taglist (plugin)
http://www.vim.org/scripts/script.php?script_id=273 - The NERD tree: A tree explorer plugin for navigating the filesystem
http://www.vim.org/scripts/script.php?script_id=1658 - JavaBrowser : Shows java file class, package in a tree as in IDEs. Java source browser.
http://www.vim.org/scripts/script.php?script_id=588 - snippetsEmu : An attempt to emulate TextMate's snippet expansion
http://www.vim.org/scripts/script.php?script_id=1318