Některé pluginy jsou takové malé, nenápadné a přitom to jsou šikovní dříči, kteří tvrdě makají každý den.
Jeden z takových mých dříčů je plugine surround.vim
https://www.vim.org/scripts/script.php?script_id=1697Pracuje s prvky obklopující text, uvozovky, závorky, xml/html elementy.
Například změna uvozovek: "Hello World!" -> cs"' => 'Hello World!'
Další plugin je vim-multiple-cursors,
https://gitlab.famillewallon.com/ines/custom-vim/tree/master/sources_non_forked/vim-multiple-cursorsTen umožňuje mít ve vimu několik kurzorů současně a dělat s textem divy, viz animované ukázky v odkazu.
Ale nejen editací textu je živ člověk. Z okrasných pluginů jsem si rychle zvykl na lightline, který hezky a užitečně formátuje status line. Výrazné barevné rozlišení jednotlivých editačních režimů je užitečné.
Také jsem kdysi dávno pátral po tom, jak si nechat zobrazit seznam všech výskytů hledaného řetězce a zjistil jsem že na to žádný plugin ani potřeba není, stačí si namapovat tento trochu zvláštní příkaz.
nmap <F7> :execute 'vimgrep '.expand('<cword>').' '.expand('%') \| :copen \| :cc
nmap <S-F7> yiw:vimgrep """ * \| :copen \| :cc<Left><S-Left><S-Left><S-Left><S-Left><S-Left><Left>
Další takový užitečný dříč, který používám už léta, že jsem téměř zapomněl, že to není nativní příkaz vimu, je středník přeformátování odstavce:
nmap ; vipJgqq
Naprosto zásadní a klíčová featura vimu jsou pro mě foldery, bez těch bych se opravdu neobešel a je to jeden z hlavních důvodů, proč zůstat u vimu. Foldery. Vim má 6 různých metod na vytváření folderů, ze kterých se mi osvědčila metoda marker. To jest vkládám si do kódu značky, kterými vyznačuji začátek a konec foldu. Foldy jsou proto velmi prezizně vytvořeny přesně tak jak potřebuji a v podstatě mi to současně slouží i jako komentáře k organizaci kódu.
Mám ve svých zdrojácích tisíce těchto značek, které zdroják rozdělují na kapitoly, podkapitoly, sekce a tak dále, takový jednoduchý outline editor tím vzniká. Jsem na tom závislý. Extrémně to zpřehledňuje zdrojové kódy. Dokonce až moc, protože mám tendence psát všechno do jednoho souboru a nemám problém se rychle orientovat a vyznat v souboru, který má 30 000 řádků kódu. Což si samozřejmě mohu dovolit jen u vlastních one man show projektů, protože pro ostatní lidi je to naprosto nesrozumitelný bordel. Tedy pokud nepoužijí Vim s tímto jednoduchým nastavením:
" folding
set fdm=marker
nmap <CR> za
nmap <S-CR> zM
" close all folds except cursor place
nmap zz zMzv