Vylepšená verze Vi, Vim, je bezpochyby jedním z nejpopulárnějších textových editorů založených na příkazovém řádku v Linuxu. Kromě toho, že jde o textový editor s bohatými funkcemi, Vim je také používán jako IDE (Integrated Development Environment) vývojáři softwaru po celém světě.
To, co dělá Vim opravdu výkonným, je skutečnost, že jeho funkčnost lze rozšířit pomocí pluginů. A netřeba dodávat, že existuje několik pluginů Vim, které jsou zaměřeny na vylepšení uživatelské zkušenosti s programováním.
Zejména pro vývojáře softwaru, kteří jsou ve Vimu noví a používají editor pro vývojové účely, budeme v tomto tutoriálu diskutovat o některých užitečných zásuvných modulech Vim – spolu s příklady.
Vezměte prosím na vědomí, že všechny příklady, příkazy a pokyny uvedené v tomto tutoriálu byly testovány na Ubuntu 16.04 a verze Vim, kterou jsme použili, je 7.4.
Nastavení instalace pluginu
Vzhledem k tomu, že tutoriál je zaměřen na nové uživatele, bylo by rozumné předpokládat, že nevědí, jak se instalují pluginy Vim. Nejprve tedy zde jsou kroky potřebné k dokončení nastavení instalace:
- Vytvořte adresář s názvem .vim ve svém domovském adresáři a poté vytvořte dva podadresáře s názvem autoload a balíček .
- Pak v rámci automatického načítání do adresáře, musíte umístit soubor s názvem pathogen.vim , kterou si můžete stáhnout zde.
- Nakonec vytvořte soubor s názvem .vimrc ve svém domovském adresáři a přidejte do něj následující dva řádky:
call pathogen#infect()
call pathogen#helptags()
A je to. Nyní jste připraveni nainstalovat pluginy Vim.
Poznámka :Zde jsme diskutovali o správě pluginů Vim pomocí Pathogenu. K dispozici jsou i další správci pluginů – pro začátek navštivte toto vlákno.
Nyní, když jsme vše připraveni, pojďme diskutovat o několika užitečných zásuvných modulech Vim.
Plugin Vim Tagbar
První na řadě je plugin Tagbar. Tento plugin vám poskytuje přehled o struktuře zdrojového souboru tím, že vám umožňuje procházet tagy, které obsahuje. „Dělá to vytvořením postranního panelu, který zobrazuje tagy vygenerované pomocí ctagů aktuálního souboru, seřazené podle jejich rozsahu,“ uvádí se na oficiálních stránkách pluginu. "To znamená, že například metody v C++ jsou zobrazeny pod třídou, ve které jsou definovány."
Zní to skvěle, že? Nyní se podívejme, jak jej můžete nainstalovat.
Instalace Tagbaru je docela snadná – vše, co musíte udělat, je spustit následující dva příkazy:
cd ~/.vim/bundle/
git clone git://github.com/majutsushi/tagbar
Po instalaci je plugin připraven k použití. Můžete to vyzkoušet otevřením souboru .cpp ve Vimu, spuštěním příkazového režimu a spuštěním :TagbarOpen příkaz. Následuje ukázkový snímek obrazovky zobrazující postranní panel (směrem doprava), který se zobrazí, když se :TagbarOpen zobrazí Příkaz Vim byl proveden:
Chcete-li postranní panel zavřít, použijte :TagbarClose příkaz. Zde stojí za zmínku, že můžete použít :TagbarOpen fj příkaz k otevření bočního panelu a také na něj přesuňte ovládací prvek. Tímto způsobem můžete snadno procházet tagy, které obsahuje – stisknutím klávesy Enter na tagu vyvoláte (a přesunete ovládání na) odpovídající funkci v okně zdrojového kódu vlevo.
V případě, že chcete postranní panel opakovaně otevírat a zavírat, můžete použít :TagbarToggle místo použití :TagbarOpen a :TagbarClose , respektive.
Pokud vám psaní těchto příkazů připadá časově náročné, můžete vytvořit zkratku pro :TagbarToggle příkaz. Pokud například vložíte následující řádek do souboru .vimrc soubor:
nmap <F8> :TagbarToggle<CR>
pak můžete pomocí klávesy F8 přepínat okno pluginu Tagbar.
Někdy si všimnete, že některé značky mají předponu +, - nebo #
symbol. Například následující snímek obrazovky (převzatý z oficiálních stránek pluginu) ukazuje některé značky se symbolem +.
Tyto symboly v podstatě zobrazují informace o viditelnosti pro konkrétní značku. Konkrétně +
označuje, že člen je veřejný, zatímco - označuje soukromého člena. #
symbol na druhé straně označuje, že člen je chráněn.
Níže jsou uvedeny některé důležité body související s panelem Tagbar:
- Webové stránky pluginu jasně ukazují, že „Tagbar není univerzální nástroj pro správu
tags
soubory. Vytváří pouze značky, které potřebuje, za běhu v paměti, aniž by vytvářel jakékoli soubory.tags
správu souborů zajišťují jiné pluginy." - Verze Vim <7.0.167 mají problém s kompatibilitou s lištou Tagbar. "Pokud se vás to týká, použijte místo toho tento alternativní Tagbar ke stažení:zip," píše se na webu. "Je na stejné úrovni jako verze 2.2, ale pravděpodobně nebude poté aktualizována kvůli množství požadovaných změn."
- Pokud narazíte na chybu Tagbar:Bohaté ctagy nebyly nalezeny! při spouštění pluginu, pak to můžete opravit stažením a instalací ctagů odtud.
- Další informace o Tagbaru naleznete zde.
Plugin Vim delimitMate
Dalším pluginem, o kterém zde budeme diskutovat, je delimitMate. Plugin v zásadě poskytuje automatické dokončování režimu vkládání pro uvozovky, závorky, závorky a další.
Nabízí také „některé další související funkce, které by vám měly trochu usnadnit čas v režimu vkládání, jako je povědomí o syntaxi (nevloží uzavírací oddělovač do komentářů a dalších konfigurovatelných oblastí) a rozšíření (ve výchozím nastavení vypnuto) a některé další ,“ uvádí se na oficiální stránce pluginu github.
Instalace tohoto pluginu je podobná způsobu, jakým jsme nainstalovali předchozí:
cd ~/.vim/bundle/
git clone git://github.com/Raimondi/delimitMate.git
Jakmile je plugin úspěšně nainstalován (to znamená, že výše uvedené příkazy jsou úspěšné), nemusíte dělat nic jiného - načte se automaticky při spuštění editoru Vim.
Nyní, kdykoli – ve Vimu – zadáte dvojitou uvozovku, jednoduchou uvozovku, složenou závorku, závorku nebo závorku, budou automaticky dokončeny.
Plugin delimitMate je konfigurovatelný. Můžete například rozšířit seznam podporovaných symbolů, zabránit automatickému načítání pluginu, vypnout plugin pro určité typy souborů a další. Chcete-li se dozvědět, jak nakonfigurovat delimitMate, aby toto všechno (a mnohem více) dělal, projděte si podrobnou dokumentaci pluginu, ke které se dostanete spuštěním :help delimitMate příkaz.
Výše uvedený příkaz rozdělí vaše okno Vim horizontálně na dvě, přičemž horní část obsahuje uvedenou dokumentaci.
Závěr
Ze dvou pluginů zmíněných v tomto článku vyžaduje Tagbar – pravděpodobně budete souhlasit – poměrně více času, než si zvyknete. Ale jakmile je to správně nastaveno (to znamená, že máte věci jako spouštěcí klávesové zkratky na místě), je to hračka. delimitMate na druhou stranu nevyžaduje, abyste si nic pamatovali.
Tutoriál by vám dal představu, jak užitečné mohou být pluginy Vim. Kromě zde diskutovaných je pro vývojáře softwaru k dispozici mnohem více pluginů. O vybrané skupině se budeme bavit v příští části. Mezitím napište komentář, pokud používáte skvělý plugin Vim související s vývojem a chcete, aby o něm věděli ostatní.
V části 2 této série výukových programů se budu zabývat pluginem Syntastic pro zvýraznění syntaxe.