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 matchpairs
in 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
command
uit 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