16
Software / Jaké božské pluginy nebo featury používáte v neméně božském Vimu?
« kdy: 31. 03. 2020, 22:49:55 »
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=1697
Pracuje 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-cursors
Ten 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.
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:
Jeden z takových mých dříčů je plugine surround.vim https://www.vim.org/scripts/script.php?script_id=1697
Pracuje 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-cursors
Ten 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.
Kód: [Vybrat]
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:Kód: [Vybrat]
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:
Kód: [Vybrat]
" folding
set fdm=marker
nmap <CR> za
nmap <S-CR> zM
" close all folds except cursor place
nmap zz zMzv