Jaké božské pluginy nebo featury používáte v neméně božském Vimu?

qelurg

  • ****
  • 372
    • Zobrazit profil
    • E-mail
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.

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


Jose D

  • *****
  • 856
    • Zobrazit profil
respekt.

Vim používám prakticky out-of-the-box, jen pokud distribuce implicitně zapíná, tak vypínám visual mode s myší a naopak zapínám syntax highlight.

Větší projekty teď dělávám v vs code, vim používám jako editor pro systémovou konfiguraci, Puppet a bash.

tak ten multikurzor je drsnarna, to je prvni realne zajimavy pouziti obskurnosti jmenem Vim co jsem kdy videl. Asi tomu nejaky cas venuju...

tak ten multikurzor je drsnarna ...
přesně!
Tenhle jsem neznal. Díky.

Multicursor je ve všech moderních editorech.


Multicursor je ve všech moderních editorech.
To máš sice pravdu, ale na druhou stranu ne všechny moderní editory můžeš jednoduše použít vzdáleně na serveru. Vim je prostě hrozně univerzální a stačí se naučit jedno ovládání. Neznám mainstreamovou distribuci, kde by nebyl snadno k dispozci a dodat tam sadu pluginů je otázkou chvilky.

qelurg

  • ****
  • 372
    • Zobrazit profil
    • E-mail
Multicursor je ve všech moderních editorech.
Ale ne az takto vymakany. Treba nekolik kurzoru v ramci jednoho radku uz tak bezne neni.

Multicursor je ve všech moderních editorech.
Ale ne az takto vymakany. Treba nekolik kurzoru v ramci jednoho radku uz tak bezne neni.

vsechny moderni editory podporuji vytvareni kurzoru mysi, alt+click nebo ctrl+click.
« Poslední změna: 03. 04. 2020, 20:44:16 od A.P.Hacker »

Multicursor je ve všech moderních editorech.
To máš sice pravdu, ale na druhou stranu ne všechny moderní editory můžeš jednoduše použít vzdáleně na serveru. Vim je prostě hrozně univerzální a stačí se naučit jedno ovládání. Neznám mainstreamovou distribuci, kde by nebyl snadno k dispozci a dodat tam sadu pluginů je otázkou chvilky.

ja automaticky vsude instaluji Emacs, pouzivam nejen jako editor, ale jako terminalovy multiplexer.

Multicursor je ve všech moderních editorech.
To máš sice pravdu, ale na druhou stranu ne všechny moderní editory můžeš jednoduše použít vzdáleně na serveru. Vim je prostě hrozně univerzální a stačí se naučit jedno ovládání. Neznám mainstreamovou distribuci, kde by nebyl snadno k dispozci a dodat tam sadu pluginů je otázkou chvilky.

ja automaticky vsude instaluji Emacs, pouzivam nejen jako editor, ale jako terminalovy multiplexer.

😧

Mareg

ja automaticky vsude instaluji Emacs, pouzivam nejen jako editor, ale jako terminalovy multiplexer.
Emacs je skvělý operační systém, škoda jen, že neobsahuje žádný použitelný editor :-)

ja automaticky vsude instaluji Emacs, pouzivam nejen jako editor, ale jako terminalovy multiplexer.
Emacs je skvělý operační systém, škoda jen, že neobsahuje žádný použitelný editor :-)

evil mode