Algemeen
- :h[elp] keyword - open hulp voor keyword
 - :sav[eas] file - sla bestand op als
 - :clo[se] - sluit huidige scherm
 - :ter[minal] - open a terminal window
 - K - open handleiding voor woord onder cursor
 
Cursorbewegingen
- h - verplaats cursor naar links
 - j - verplaats cursor naar rechts
 - k - verplaats cursor naar boven
 - l - verplaats cursor naar beneden
 - gj - move cursor down (multi-line text)
 - gk - move cursor up (multi-line text)
 - H - verplaats cursor naar de bovenkant van het scherm
 - M - verplaats cursor naar het midden van het scherm
 - L - verplaats cursor naar de onderkant van het scherm
 - w - verplaats cursor naar het begin van een woord
 - W - verplaats cursor naar het begin van een woord (woorden mogen interpunctie bevatten)
 - e - verplaats cursor naar het einde van een woord
 - E - verplaats cursor naar het einde van een woord (woorden mogen interpunctie bevatten)
 - b - verplaats cursor naar het begin van een woord
 - B - verplaats cursor naar het begin van een woord (woorden mogen interpunctie bevatten)
 - ge - jump backwards to the end of a word
 - gE - jump backwards to the end of a word (words can contain punctuation)
 - 
            % - move to matching character (default supported pairs: '()', '{}', '[]' - use 
:h matchpairsin vim for more info) - 0 - verplaats cursor naar het begin van de regel
 - ^ - verplaats cursor naar het eerste teken van de regel
 - $ - verplaats cursor naar het einde van de regel
 - g_ - verplaats cursor naar het laatste teken van de regel
 - gg - verplaats cursor naar de eerste regel van het document
 - G - verplaats cursor naar de laatste regel van het document
 - 5gg or 5G - ga naar regel 5
 - gd - move to local declaration
 - gD - move to global declaration
 - fx - ga naar het volgende voorkomen van karakter x
 - tx - ga naar voor het volgende voorkomen van karakter x
 - Fx - ga naar het vorige voorkomen van karakter x
 - Tx - ga naar na het vorige voorkomen van karakter x
 - ; - herhaal vorige f, t, F of T commando
 - , - herhaal vorige f, t, F of T commando, terugwaards
 - } - ga naar de volgende paragraaf (of functie/blok, tijdens het bewerken van code)
 - { - ga naar de vorige paragraaf (of functie/blok, tijdens het bewerken van code)
 - zz - center cursor on screen
 - zt - position cursor on top of the screen
 - zb - position cursor on bottom of the screen
 - Ctrl + e - beweeg scherm een regel omlaag
 - Ctrl + y - beweeg scherm een regel omhoog
 - Ctrl + b - ga een volledig scherm terug
 - Ctrl + f - ga een volledig scherm vooruit
 - Ctrl + d - ga 1/2 scherm vooruit
 - Ctrl + u - ga 1/2 scherm terug
 
Insert modus: in- en toevoegen van tekst
- i - invoegen voor de cursor
 - I - invoegen aan het begin van de regel
 - a - invoegen achter de cursor
 - A - invoegen aan het einde van de regel
 - o - voeg een nieuwe regel toe onder de cursor
 - O - voeg een nieuwe regel toe boven de cursor
 - ea - invoegen aan het einde van het woord
 - Ctrl + h - delete the character before the cursor during insert mode
 - Ctrl + w - delete word before the cursor during insert mode
 - Ctrl + j - begin new line during insert mode
 - Ctrl + t - indent (move right) line one shiftwidth during insert mode
 - Ctrl + d - de-indent (move left) line one shiftwidth during insert mode
 - Ctrl + n - insert (auto-complete) next match before the cursor during insert mode
 - Ctrl + p - insert (auto-complete) previous match before the cursor during insert mode
 - Ctrl + rx - insert the contents of register x
 - Ctrl + ox - Temporarily enter normal mode to issue one normal-mode command x.
 - Esc or Ctrl + c - verlaat insert modus
 
Bewerken
- r - vervang één karakter
 - R - replace more than one character, until ESC is pressed.
 - J - voeg onderstaande regel samen met huidige regel met een spatie ertussen
 - gJ - voeg onderstaande regel samen met huidige regel zonder een spatie ertussen
 - gwip - formatteer paragraaf
 - g~ - switch case up to motion
 - gu - change to lowercase up to motion
 - gU - change to uppercase up to motion
 - cc - vervang huidige regel
 - c$ or C - vervang tot einde regel
 - ciw - vervang woord
 - cw or ce - vervang tot einde huidig woord
 - s - vervang karakter
 - S - vervang huidige regel (het zelfde als cc)
 - xp - verwissel twee letters (verwijder en plak)
 - u - ongedaan maken
 - U - restore (undo) last changed line
 - Ctrl + r - overdoen
 - . - laatste commando herhalen
 
Tekst markeren (Visuele modus)
- v - start visuele modus, selecteer tekst en voer daarna een commando uit (zoals y-kopieer)
 - V - start visuele modus (per regel)
 - o - ga naar het einde van het geselecteerde gebied
 - Ctrl + v - begin visuele modus (per blok)
 - O - ga naar andere hoek van het geselecteerde blok
 - aw - selecteer een woord
 - ab - een blok met ()
 - aB - een blok met {}
 - at - a block with <> tags
 - ib - binnenkant blok met ()
 - iB - binnenkant blok met {}
 - it - inner block with <> tags
 - Esc or Ctrl + c - verlaat visuele modus
 
Visuele commando's
- > - verplaats tekst naar rechts
 - < - verplaats tekst naar links
 - y - kopieer gemarkeerde tekst
 - d - verwijder gemarkeerde tekst
 - ~ - hoofdletters omwisselen
 - u - change marked text to lowercase
 - U - change marked text to uppercase
 
Registers
- :reg[isters] - laat registerinhoud zien
 - "xy - kopieer naar register x
 - "xp - plak inhoud van register x
 - "+y - yank into the system clipboard register
 - "+p - paste from the system clipboard register
 
             0 - last yank
             " - unnamed register, last delete or yank
             % - current file name
             # - alternate file name
             * - clipboard contents (X11 primary)
             + - clipboard contents (X11 clipboard)
             / - last search pattern
             : - last command-line
             . - last inserted text
             - - last small (less than a line) delete
             = - expression register
             _ - black hole register
          
Positiemarkeringen
- :marks - lijst van positiemarkeringen
 - ma - Markeer huidige positie als marker A
 - `a - ga naar positie van marker A
 - y`a - kopieer tekst naar positie van marker A
 - `0 - go to the position where Vim was previously exited
 - `" - go to the position when last editing this file
 - `. - go to the position of the last change in this file
 - `` - go to the position before the last jump
 - :ju[mps] - list of jumps
 - Ctrl + i - go to newer position in jump list
 - Ctrl + o - go to older position in jump list
 - :changes - list of changes
 - g, - go to newer position in change list
 - g; - go to older position in change list
 - Ctrl + ] - jump to the tag under cursor
 
Macros
- qa - Neem macro A op
 - q - stop met opnemen
 - @a - herhaal macro A
 - @@ - herhaal laatst uitgevoerde macro
 
Kopiëren en plakken
- yy - kopieer één regel
 - 2yy - kopieer twee regels
 - yw - kopieer de karakters vanaf de cursorpositie tot het begin van het volgende woord
 - yiw - kopieer woord onder de cursor
 - yaw - kopieer het woord onder de cursor, inclusief de spatie er voor of er achter
 - y$ or Y - kopieer tot het einde van de regel
 - p - plak achter de cursor
 - P - plak voor de cursor
 - gp - put (paste) the clipboard after cursor and leave cursor after the new text
 - gP - put (paste) before cursor and leave cursor after the new text
 - dd - verwijder (knip) een regel
 - 2dd - verwijder (knip) twee regels
 - dw - verwijder (knip) de karakters vanaf de cursorpositie tot het begin van het volgende woord
 - diw - verwijder (knip) woord onder de cursor
 - daw - verwijder (knip) het woord onder de cursor, inclusief de spatie er voor of er achter
 - :3,5d - delete lines starting from 3 to 5
 
e.g.
            :.,$d - From the current line to the end of the file 
            :.,1d - From the current line to the beginning of the file 
            :10,1d - From the 10th line to the beginning of the file 
          
- :g/{pattern}/d - delete all lines containing pattern
 - :g!/{pattern}/d - delete all lines not containing pattern
 - d$ or D - verwijder (knip) tot het einde van de regel
 - x - verwijder (knip) huidige karakter
 
Indent text
- >> - indent (move right) line one shiftwidth
 - << - de-indent (move left) line one shiftwidth
 - >% - indent a block with () or {} (cursor on brace)
 - <% - de-indent a block with () or {} (cursor on brace)
 - >ib - indent inner block with ()
 - >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
 
Verlaten
- :w - sla op maar blijf in vim
 - :w !sudo tee % - sla op, gebruikmakend van sudo
 - :wq or :x or ZZ - sla op en verlaat vim
 - :q - verlaat vim (faalt wanneer er niet-opgeslagen aanpassingen zijn)
 - :q! or ZQ - verlaat vim en gooi niet-opgeslagen aanpassingen weg
 - :wqa - sla op en sluit alle tabs
 
Zoeken en vervangen
- /pattern - zoek naar patroon
 - ?pattern - zoek achteruit naar patroon
 - \vpattern - 'super magisch' patroon: non-alfanumerieke karakters worden geïnterpreteerd als speciale tekens, escapen niet nodig
 - n - herhaal zoekopdracht in dezelfe richting
 - N - herhaal zoekopdracht in tegengestelde richting
 - :%s/old/new/g - vervang alle 'old' met 'new' in het bestand
 - :%s/old/new/gc - vervang alle 'old' met 'new' in het bestand, vraag steeds om bevestiging
 - :noh[lsearch] - verwijder markering van gevonden stukken tekst
 
Zoek in meerdere bestanden
- :vim[grep] /pattern/ {`{file}`} - zoek voor patroon in meerdere bestanden
 
- :cn[ext] - ga naar het volgende zoekresultaat
 - :cp[revious] - ga naar het vorige zoekresultaat
 - :cope[n] - open een scherm met de lijst van alle zoekresultaten
 - :ccl[ose] - close the quickfix window
 
Tabbladen
- :tabnew or :tabnew {page.words.file} - open een bestand in een nieuw tabblad
 - Ctrl + wT - verplaats het huidige opgesplitste scherm naar een nieuw tabblad
 - gt or :tabn[ext] - ga naar het volgende tabblad
 - gT or :tabp[revious] - ga naar het vorige tabblad
 - #gt - ga naar tabblad nummer #
 - :tabm[ove] # - verplaats huidige tabblad naar positie # (geïndexeerd vanaf 0)
 - :tabc[lose] - sluit huidige tabblad en alle bijbehorende schermen
 - :tabo[nly] - sluit alle tabbladen behalve het huidige tabblad
 - 
            :tabdo command - voer het 
commanduit op alle tabs (bijvoorbeeld:tabdo q- sluit alle geopende tabbladen) 
Werken met meerdere bestanden
- :e[dit] file - bewerk een bestand in een nieuwe buffer
 - :bn[ext] - ga naar de volgende buffer
 - :bp[revious] - ga naar de vorige buffer
 - :bd[elete] - verwijder buffer (sluit een bestand)
 - :b[uffer]# - go to a buffer by #
 - :b[uffer] file - go to a buffer by file
 - :ls or :buffers - lijst van alle open buffers
 - :sp[lit] file - open een bestand in een nieuwe buffer en splits scherm
 - :vs[plit] file - open een bestand in een nieuwe buffer en splits scherm verticaal
 - :vert[ical] ba[ll] - edit all buffers as vertical windows
 - :tab ba[ll] - edit all buffers as tabs
 - Ctrl + ws - splits scherm
 - Ctrl + wv - splits scherm verticaal
 - Ctrl + ww - wissel van scherm
 - Ctrl + wq - sluit een scherm
 - Ctrl + wx - exchange current window with next one
 - Ctrl + w= - make all windows equal height & width
 - Ctrl + wh - verplaats cursor naar linkse scherm (verticale splitsing)
 - Ctrl + wl - verplaats cursor naar rechtse scherm (verticale splitsing)
 - Ctrl + wj - verplaats cursor naar scherm beneden (horizontale splitsing)
 - Ctrl + wk - verplaats cursor naar scherm boven (horizontale splitsing)
 - 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