• Základní editace - módy: normální, vkládací, command - jak vyskočit: :q[!], :x, :w, ZZ, ZQ - změny: i/a/A, o/O, r/R, x/X, s - pohyb: h/j/k/l, 0/$, gg/G, 50%, w/e/b, W/E/B, C-D/C-U, H/M/L - příkazy mají parametry: 5w vs. 5G - operátory: d/c + pohyb, dd/cc/S, D/C - opakování: . - undo: u/C-R, g+/g- - join: J - help: :help • Další způsoby adresace - lokální hledání: f/F t/T ;/, - větší skoky: () [věta], {} [odstavec] - textové objekty: aw/aW iw/iW ap a"/a' [quoted string] a(/2a( [uzávorkovaná část] - párování závorek: % - formátování odstavců: gq - značky: m, '/`, ''/`` [uppercase: mezisouborové] • Práce s kusy textu - cut/copy/paste: d/y/p, P - pojmenované registry: "r, "R [přidává] - vkládání registru v insert módu: C-Rr - speciální: ". [poslední insert], "_ [blackhole], "+ [X11 clipboard], "* [X11 selection] • Vizuální mód - v/V/C-V - o - gv [oživení] - lze zadat objekt • Práce s více soubory - :edit - :set hidden, :ls, :b, :bd, C-^ - :tabe, gt, gT - okna: - C-W s [split], C-W v [vertical split], C-W n [new] - :sp, :vs, :new - C-W h/j/k/l - C-W w / C-W C-W - C-W q / :q [quit] - C-W c / :close [close] - C-W o [only] - C-W r/R [rotate] - C-W = [equalize size] - C-W -/+ [height], C-W [width] - vim , :next, :prev - vim -o/-O • Search and replace - prosté hledání: /, n, N - hledání aktuálního slova: * - :set incsearch - :set hlsearch, :noh - regexy: \<, \>, \v [very magical], \c [ignore case] - substituce: :s/pattern/string/ - adresy: :%s, V:s - modifikátory: g [global], c [confirm], i [ignorecase] - odkazy na matchnutý text: &, \1...\9 - dělení řádků pomocí C-V C-M - podmínění příkazu: :g/pattern/příkaz • Konfigurace - ~/.vimrc - :set confirm, showmatch, showcmd - :set, :set all - :set paste - :nmap p :set paste - :set number - :set tabstop=N • Editování programů - :set ai [autoindent] - :set cindent - :autocmd BufNewFile,BufRead *.[ch] set cindent - :syntax on - kompletace: C-P/N. C-X C-F [complete file name], YouCompleteMe, komunikace s language serverem - /= - tags, C-], C-T • Různé - digrafy: C-K, :dig - nahrávání maker: q, @, @@ - :!, použití z visual modu jako filtr - gj/gk (po viditelných řádcích) - :nmap - zz (center) - C-A/X - C-Y (copy above cursor), C-E (below cursor) - C-G / gC-G - g? (rot13) - ga/g8 - vimdiff - ~, gu, gU