Vim. Mnohí ho milujú, mnohí ho nenávidia. Má strmú krivku učenia, ale keď som sa v ňom zdokonalil, skutočne som videl jeho výhody. Ako to býva so všetkým, čo závisí od svalovej pamäte, je teraz pre mňa ešte ťažšie používať normálny režim písania, napríklad na webových stránkach. :wq
Vo vime si budуjem mapu stlačení klávesov potrebných na daný úkon. Niektoré
predvolené sekvencie klávesov sú založené na mnemonikách. Mnemoniky
pomáhajú zapamätať si väčšie množstvo informácií na základe krátkych
vzorov. Jedna z mnohých bežných sekvencií klávesov vo vime je diw, ktorá
by delete inner word (zmazala by vnútorné slovo). Keďže vim je
veľmi konfigurovateľný, jeho používatelia sú povzbudzovaní k tomu, aby si
pre opakujúce sa úlohy vytvorili vlastné sekvencie klávesov.
Keď vytváram novú kombináciu, snažím sa tiež čo najviac používať mnemoniky, zvyčajne pomocou začiatočných písmen slov opisujúcich danú úlohu. Väčšina predvolených sekvencií klávesov vo vime začína slovesom. S týmto prístupom súhlasím, pretože pôsobí prirodzenejšie, príklady:
delete inner word, goto type definition, list commands
Existujú samozrejme výnimky. Niekedy, zvyčajne keď sekvencia klávesov, ktorú integrujem do vimu, je sústredená okolo iného externého príkazu, sekvencia začína podstatným menom, a sú aj príkazy, ktoré nemajú žiadne slovesá:
git chunk undo, npm run dev, quick fix
Objavil som pekú integráciu založenú na vyššie uvedených princípoch. Je
sústredená okolo FuZzy Finderu — fzf a
jeho vim pluginu, fzf-vim. Po
nainštalovaní vo vime vložím tento riadok do svojho súboru .vimrc:
nmap <silent> gf :<C-u>Files<CR>
Upozornenie: nie som špecialista na vimscript, takže môžu existovať lepšie prístupy. Používajte len vtedy, keď viete, čo robíte.
To, čo vyššie uvedený riadok vimscriptu robí, je to, že vo vime otvorí dialóg, kde môžem vybrať súbor v aktuálnom adresárovom strome tým, že ho fuzzy (teda nepresne) zhodím podľa názvu. Pre mňa je to jeden z efektívnejších spôsobov navigácie v projekte.
Ďalším krokom je vložiť tento riadok do môjho súboru .zshrc:
alias gf='nvim `fzf -i`'
Tieto dva riadky spolu vytvárajú mnemoniku gf, ktorú si pamätám ako
goto file, využívajúcu fuzzy zhodu názvov súborov a zakorenenú v
mojej svalovej pamäti. Nech som v termináli alebo už vo vime, napísanie
gf rýchlo otvorí potrebný súbor. Veľmi silná kombinácia!
Toto je 8. príspevok #100daystooffload.