Pořádek v nastavení vimu pomocí pluginu Pathogen

Vim asi používáte všichni. V podstatě z nám jen jednoho člověka, který Vim zatím nepoužívá, ale dost vážně o tom uvažuje. Tolik na úvod.

S přibývajícími zkušenostmi s tímto špičkovým editorem začíná člověk po internetu honit různé pluginy a jiné vychytávky. Instalují se obvykle rozbalením do adresáře ~/.vim, případně rozbalením .vba (to není visual basic ale vimball archiv). Takový vimball se rozbalí přímo ve Vimu příkazem :so. To jsou dva způsoby instalace s téměř stejným výsledkem, a totiž nevalným. Odinstalace je velmi pracná, někdy nemožná.

Ačkoli vba archiv sice vytvoří něco jako záznam instalace a plugin lze odstranit speciálním příkazem, většina pluginů jsou stejně k dispozici jako obyčejné soubory nehledě na to, že některé pluginy je třeba ještě doinstalovat a "vytunit" (něco zkompilovat a podobně).

Jak na to? Už několik let mám svůj adresář .vim v RCS systému. Nejprve to byl Subversion, po čistce, kterou jsem anoncoval nedávno do blogu, to je nyní git repozitář. Tak ale řeším ten "největší" binec. Ale vězte že taková odinstalace pluginu, který byl několikrát zaktualizován, není žádný med (sada git revertů).

Dnes jsem objevil plugin pathogen. Jeho instalace je triviální - stačí nakopírovat jeden soubor do .vim/autoload a do .vimrc umístit jeden jediný příkaz. A co to umí? Inu takovou "drobnost": načítat pluginy separovaně z adresáře .vim/bundle/plugin1, plugin2, plugin3... To je panečku pořádek, za který by se ani robotický vysavač s litiovými bateriemi na palubě a ramenem pro překonávání prahů až do výšky 8 cm nemusel stydět.

Tento způsob lze použít ruku v ruce s gitem. Stačí si pluginy prostě stahovat jako git-submoduly. Pak je jejich aktualizace doslova hračkou (git pull). Špičkové. Elegantní. Famózní. Tleskám nohama.

Nedávno jsem byl informován, že můj blog čte člověk, který není z IT oblasti. Jardo, pokud jsi dnes nerozumněl ani slovo, nezoufej. Celé to povídání lze zapsat i jinak. Poměrně přehledný přepis přikládám:

pushd ~/.vim || echo "Nemáš vim, nepokračuj. Nemá to cenu."
git init
git add .
git commit -m "Moje vim konfigurace - první verze"
mkdir autoload 2>/dev/null
wget "http://www.vim.org/scripts/download_script.php?src_id=12116" -O autoload/pathogen.vim
echo "call pathogen#runtime_append_all_bundles()" >> ~/.vimrc
git add .
git commit -m "Instalace pathogenu"
git submodule add git://git.wincent.com/command-t.git bundle/command-t
git submodule init
git add .
git commit -m "Přidání pluginu CommandT"
# zde přidej další pluginy dle libosti
popd


Paráda.
comments powered by Disqus
twitter.com linkedin.com
google.com/+ facebook.com
flickr.com youtube.com