Global
- :h[elp] keyword - segítség megnyitása kulcsszóhoz
 - :sav[eas] file - fájl mentése másként
 - :clo[se] - aktuális ablak bezárása
 - :ter[minal] - terminálablak megnyitása
 - K - man oldal megnyitása a kurzor alatti szóhoz
 
Kurzormozgás
- h - kurzort balra mozgatás
 - j - kurzort lefelé mozgatás
 - k - kurzort felfelé mozgatás
 - l - kurzort jobbra mozgatás
 - gj - kurzort lefelé mozgatás (többsoros szövegben)
 - gk - kurzort felfelé mozgatás (többsoros szövegben)
 - H - ugrás a képernyő tetejére
 - M - ugrás a képernyő közepére
 - L - ugrás a képernyő aljára
 - w - ugrás előre egy szó elejére
 - W - ugrás előre egy szó elejére (szavak tartalmazhatnak írásjeleket is)
 - e - ugrás előre egy szó végére
 - E - ugrás előre egy szó végére (szavak tartalmazhatnak írásjeleket is)
 - b - ugrás hátra egy szó elejére
 - B - ugrás hátra egy szó elejére (szavak tartalmazhatnak írásjeleket is)
 - ge - ugrás hátra egy szó végére
 - gE - ugrás hátra egy szó végére (szavak tartalmazhatnak írásjeleket is)
 - 
            % - kurzor pozícionálása a megfelelő karakterre (alapértelmezett támogatott párok: '()', '{}', '[]' - további információkért használd a 
:h matchpairsparancsot a Vimben) - 0 - ugrás a sor elejére
 - ^ - ugrás a sor első nem-szóköz karakterére
 - $ - ugrás a sor végére
 - g_ - ugrás a sor utolsó nem-szóköz karakterére
 - gg - ugrás a dokumentum első sorára
 - G - ugrás a dokumentum utolsó sorára
 - 5gg or 5G - ugrás az 5. sorra
 - gd - ugrás a helyi deklarációra
 - gD - ugrás a globális deklarációra
 - fx - ugrás a karakter x következő előfordulására
 - tx - ugrás a karakter x előtti következő előfordulás elé
 - Fx - ugrás a karakter x előző előfordulására
 - Tx - ugrás a karakter x előző előfordulás utánra
 - ; - ismétlés az előző f, t, F vagy T mozgásnak
 - , - ismétlés az előző f, t, F vagy T mozgásnak hátrafele
 - } - ugrás a következő bekezdésre (vagy funkcióra/blockra, ha kódot szerkesztesz)
 - { - ugrás az előző bekezdésre (vagy funkcióra/blockra, ha kódot szerkesztesz)
 - zz - kurzor középre állítása a képernyőn
 - zt - kurzor pozícionálása a képernyő tetejére
 - zb - kurzor pozícionálása a képernyő aljára
 - Ctrl + e - képernyő lefelé egy sorral (kurzor mozgatása nélkül)
 - Ctrl + y - képernyő felfelé egy sorral (kurzor mozgatása nélkül)
 - Ctrl + b - képernyő felfelé egy oldallal (kurzor az utolsó sorra)
 - Ctrl + f - képernyő lefelé egy oldallal (kurzor az első sorra)
 - Ctrl + d - kurzor és képernyő lefelé 1/2 oldallal
 - Ctrl + u - kurzor és képernyő felfelé 1/2 oldallal
 
Beszúrási mód - beszúrás/bővítés szöveghez
- i - beszúrás a kurzor előtt
 - I - beszúrás a sor elején
 - a - beszúrás (bővítés) a kurzor után
 - A - beszúrás (bővítés) a sor végén
 - o - új sor beszúrása a jelenlegi sor alá
 - O - új sor beszúrása a jelenlegi sor fölé
 - ea - beszúrás (bővítés) a szó végére
 - Ctrl + h - karakter törlése a kurzor előtt beszúrás közben
 - Ctrl + w - szó törlése a kurzor előtt beszúrás közben
 - Ctrl + j - sortörés hozzáadása a kurzor pozíciójához beszúrás közben
 - Ctrl + t - bekezdésig való behúzás (jobbra mozgatás) egy sornyi lépéssel beszúrás közben
 - Ctrl + d - bekezdésig való kihúzás (balra mozgatás) egy sornyi lépéssel beszúrás közben
 - Ctrl + n - beszúrás (automatikus befejezés) a kurzor előtt a következő találatból beszúrás közben
 - Ctrl + p - beszúrás (automatikus befejezés) a kurzor előtt az előző találatból beszúrás közben
 - Ctrl + rx - a 'x' regiszter tartalmának beszúrása
 - Ctrl + ox - Ideiglenes átváltás normál módba egy normál mód parancs futtatásához 'x' betűvel.
 - Esc or Ctrl + c - kilépés a beszúrási módból
 
Szerkesztés
- r - egy karakter helyettesítése.
 - R - több karakter helyettesítése, amíg meg nem nyomod az ESC-t.
 - J - a sor alatti sor összefűzése egy szóközzel
 - gJ - a sor alatti sor összefűzése szóköz nélkül
 - gwip - bekezdés újraformázása
 - g~ - kapcsolja át a kisbetűket a kurzor helyzetéig
 - gu - átváltás kisbetűre a kurzor helyzetéig
 - gU - átváltás nagybetűre a kurzor helyzetéig
 - cc - sor teljes cseréje
 - c$ or C - cserélés a sor végéig
 - ciw - szó teljes cseréje
 - cw or ce - cserélés a szó végéig
 - s - karakter törlése és szöveg beillesztése
 - S - sor törlése és szöveg beillesztése (ugyanaz, mint cc)
 - xp - két karakter felcserélése (törlés és beillesztés)
 - u - visszavonás
 - U - visszaállítás (visszavonás) az utolsó megváltoztatott sorra
 - Ctrl + r - újra
 - . - az utolsó parancs ismétlése
 
Szöveg kijelölése (vizuális mód)
- v - vizuális mód indítása, sorok kijelölése, majd parancs végrehajtása (pl. yank)
 - V - sortöréses vizuális mód indítása
 - o - ugrás a kijelölt terület másik végére
 - Ctrl + v - vizuális blokk mód indítása
 - O - ugrás a blokk másik sarkához
 - aw - szó kijelölése
 - ab - blokk kijelölése ()-al
 - aB - blokk kijelölése {}-al
 - at - blokk kijelölése <> címkékkel
 - ib - belső blokk kijelölése ()-al
 - iB - belső blokk kijelölése {}-al
 - it - belső blokk kijelölése <> címkékkel
 - Esc or Ctrl + c - kilépés a vizuális módból
 
Vizuális parancsok
- > - szöveg jobbra mozgatása
 - < - szöveg balra mozgatása
 - y - kijelölt szöveg másolása
 - d - kijelölt szöveg törlése
 - ~ - kis- és nagybetű váltás
 - u - kijelölt szöveg kisbetűvé alakítása
 - U - kijelölt szöveg nagybetűvé alakítása
 
Regiszterek
- :reg[isters] - regiszter tartalmának megjelenítése
 - "xy - regiszter x-be való másolás
 - "xp - regiszter x tartalmának beillesztése
 - "+y - beillesztés a rendszer vágólap regiszterbe
 - "+p - beillesztés a rendszer vágólap regiszterből
 
             0 - utolsó másolás
             " - névtelen regiszter, utolsó törlés vagy másolás
             % - aktuális fájlnév
             # - alternatív fájlnév
             * - vágólap tartalma (X11 elsődleges)
             + - vágólap tartalma (X11 vágólap)
             / - utolsó keresési minta
             : - utolsó parancssor
             . - utolsó beillesztett szöveg
             - - utolsó kis (egy soron belüli) törlés
             = - kifejezés regiszter
             _ - fekete lyuk regiszter
          
Jelölések és pozíciók
- :marks - jelölések listája
 - ma - aktuális pozíció beállítása az 'A' jelzéshez
 - `a - ugrás az 'A' jelzés pozíciójához
 - y`a - szöveg másolása az 'A' jelzés pozíciójába
 - `0 - ugrás az utolsó Vim kilépési helyéhez
 - `" - ugrás a legutóbbi szerkesztés helyéhez ebben a fájlban
 - `. - ugrás az utolsó változás helyéhez ebben a fájlban
 - `` - ugrás az utolsó ugrás előtti helyhez
 - :ju[mps] - ugrások listája
 - Ctrl + i - ugrás a legújabb helyhez az ugrás listában
 - Ctrl + o - ugrás a legutóbbi helyhez az ugrás listában
 - :changes - változások listája
 - g, - ugrás a legújabb helyhez a változás listában
 - g; - ugrás a legutóbbi helyhez a változás listában
 - Ctrl + ] - ugrás az aktuális kurzor alatti címkehez
 
Makrók
- qa - makró 'a' rögzítése
 - q - makró rögzítésének leállítása
 - @a - makró 'a' futtatása
 - @@ - utoljára futtatott makró újra futtatása
 
Vágás és beillesztés
- yy - sor másolása
 - 2yy - 2 sor másolása
 - yw - a kurzor helyzetétől a következő szó elejéig tartó karakterek másolása
 - yiw - a kurzor alatti szó másolása
 - yaw - a kurzor alatti szó és előtte vagy utána levő szóköz másolása
 - y$ or Y - a kurzor helyzetétől a sor végéig tartó szöveg másolása
 - p - vágólap beillesztése a kurzor után
 - P - vágólap beillesztése a kurzor előtt
 - gp - vágólap beillesztése a kurzor után, és a kurzort az új szöveg után hagyja
 - gP - vágólap beillesztése a kurzor előtt, és a kurzort az új szöveg után hagyja
 - dd - sor törlése
 - 2dd - 2 sor törlése
 - dw - a kurzor helyzetétől a következő szó elejéig tartó karakterek törlése
 - diw - a kurzor alatti szó törlése
 - daw - a kurzor alatti szó és előtte vagy utána levő szóköz törlése
 - :3,5d - 3-tól 5-ig terjedő sorok törlése
 
e.g.
            :.,$d - Az aktuális sortól a fájl végéig 
            :.,1d - Az aktuális sortól a fájl elejéig 
            :10,1d - A 10. sortól a fájl elejéig 
          
- :g/{pattern}/d - a mintát tartalmazó összes sor törlése
 - :g!/{pattern}/d - nem tartalmaz mintát az összes sor törlése
 - d$ or D - a kurzor helyzetétől a sor végéig tartó szöveg törlése
 - x - karakter törlése
 
Szöveg behúzása
- >> - egy sor behúzása egy tabulálás mérettel jobbra
 - << - egy sor behúzása egy tabulálás mérettel balra
 - >% - blokk behúzása () vagy {} címkékkel (kurzor a kapcsos zárójel fölött)
 - <% - de-indent a block with () or {} (cursor on brace)
 - >ib - belső blokk behúzása ()-al
 - >at - indent a block with <> tags
 - 3== - re-indent 3 lines
 - =% - re-indent a block with () or {} (cursor on brace)
 - =iB - re-indent inner block with {}
 - gg=G - re-indent entire buffer
 - ]p - paste and adjust indent to current line
 
Kilépés
- :w - write (save) the file, but don't exit
 - :w !sudo tee % - write out the current file using sudo
 - :wq or :x or ZZ - write (save) and quit
 - :q - quit (fails if there are unsaved changes)
 - :q! or ZQ - quit and throw away unsaved changes
 - :wqa - write (save) and quit on all tabs
 
Keresés és csere
- /pattern - search for pattern
 - ?pattern - search backward for pattern
 - \vpattern - 'very magic' pattern: non-alphanumeric characters are interpreted as special regex symbols (no escaping needed)
 - n - következő találat
 - N - előző találat
 - :%s/old/new/g - replace all old with new throughout file
 - :%s/old/new/gc - replace all old with new throughout file with confirmations
 - :noh[lsearch] - remove highlighting of search matches
 
Több fájl keresése
- :vim[grep] /pattern/ {`{file}`} - search for pattern in multiple files
 
- :cn[ext] - jump to the next match
 - :cp[revious] - jump to the previous match
 - :cope[n] - open a window containing the list of matches
 - :ccl[ose] - close the quickfix window
 
Tabs
- :tabnew or :tabnew {page.words.file} - open a file in a new tab
 - Ctrl + wT - move the current split window into its own tab
 - gt or :tabn[ext] - move to the next tab
 - gT or :tabp[revious] - move to the previous tab
 - #gt - move to tab number #
 - :tabm[ove] # - move current tab to the #th position (indexed from 0)
 - :tabc[lose] - close the current tab and all its windows
 - :tabo[nly] - close all tabs except for the current one
 - 
            :tabdo command - run the 
commandon all tabs (e.g.:tabdo q- closes all opened tabs) 
Working with multiple files
- :e[dit] file - edit a file in a new buffer
 - :bn[ext] - go to the next buffer
 - :bp[revious] - go to the previous buffer
 - :bd[elete] - delete a buffer (close a file)
 - :b[uffer]# - go to a buffer by index #
 - :b[uffer] file - go to a buffer by file
 - :ls or :buffers - list all open buffers
 - :sp[lit] file - open a file in a new buffer and split window
 - :vs[plit] file - open a file in a new buffer and vertically split window
 - :vert[ical] ba[ll] - edit all buffers as vertical windows
 - :tab ba[ll] - edit all buffers as tabs
 - Ctrl + ws - split window
 - Ctrl + wv - split window vertically
 - Ctrl + ww - switch windows
 - Ctrl + wq - quit a window
 - Ctrl + wx - exchange current window with next one
 - Ctrl + w= - make all windows equal height & width
 - Ctrl + wh - move cursor to the left window (vertical split)
 - Ctrl + wl - move cursor to the right window (vertical split)
 - Ctrl + wj - move cursor to the window below (horizontal split)
 - Ctrl + wk - move cursor to the window above (horizontal split)
 - Ctrl + wH - make current window full height at far left (leftmost vertical window)
 - Ctrl + wL - make current window full height at far right (rightmost vertical window)
 - Ctrl + wJ - make current window full width at the very bottom (bottommost horizontal window)
 - Ctrl + wK - make current window full width at the very top (topmost horizontal window)
 
Diff
- zf - manually define a fold up to motion
 - zd - delete fold under the cursor
 - za - toggle fold under the cursor
 - zo - open fold under the cursor
 - zc - close fold under the cursor
 - zr - reduce (open) all folds by one level
 - zm - fold more (close) all folds by one level
 - zi - toggle folding functionality
 - ]c - jump to start of next change
 - [c - jump to start of previous change
 - do or :diffg[et] - obtain (get) difference (from other buffer)
 - dp or :diffpu[t] - put difference (to other buffer)
 - :diffthis - make current window part of diff
 - :dif[fupdate] - update differences
 - :diffo[ff] - switch off diff mode for current window