Yleiset
- :h[elp] avainsana - näytä apu avainsanalle
 - :sav[eas] tiedosto - tallenna nimellä
 - :clo[se] - sulje nykyinen paneeeli
 - :ter[minal] - avaa terminaali ikkuna
 - K - avaa man-sivu kursorin alla olevalle sanalle
 
Kursorin liike
- h - siirrä kursori vasemmalle
 - j - siirrä kursori alas
 - k - siirrä kursori ylös
 - l - siirrä kursori oikealle
 - gj - siirrä kursori alas (monirivinen teksti)
 - gk - siirrä kursori ylös (monirivinen teksti)
 - H - siirry näytön yläosaan
 - M - siirry näytön keskelle
 - L - siirry näytön alaosaan
 - w - hyppää eteenpäin sanan alkuun
 - W - hyppää eteenpäin sanan alkuun (sanat voivat sisältää välimerkkejä)
 - e - hyppää eteenpäin sanan loppuun
 - E - hyppää eteenpäin sanan loppuun (sanat voivat sisältää välimerkkejä)
 - b - hyppää taaksepäin sanan alkuun
 - B - hyppää taaksepäin sanan alkuun (sanat voivat sisältää välimerkkejä)
 - ge - hyppää taaksepäin sanan loppuun
 - gE - hyppää taaksepäin sanan loppuun (sanat voivat sisältää välimerkkejä)
 - 
            % - siirrä kursori merkin pariin (oletuksena tuetut parit: '()', '{}', '[]' - aja 
:h matchpairsvim:issä saadaksesi lisää tietoa) - 0 - hyppää rivin alkuun
 - ^ - hyppää rivin ensimmäiseen ei-tyhjään merkkiin
 - $ - hyppää rivin loppuun
 - g_ - hyppää rivin viimeiseen ei-tyhjään merkkiin
 - gg - mene tiedoston ensimmäiselle riville
 - G - mene tiedoston viimeiselle riville
 - 5gg or 5G - mene riville 5
 - gd - mene paikalliseen määrittelyyn
 - gD - mene globaaliin määrittelyyn
 - fx - hyppää seuraavaan merkin x esiintymään
 - tx - hyppää merkin x seuraavaa esiintymää edeltävään merkkiin
 - Fx - hyppää edelliseen merkin x esiintymään
 - Tx - hyppää merkin x edellistä esiintymää seuraavaan merkkiin
 - ; - toista edellinen f, t, F tai T liike
 - , - toista edellinen f, t, F tai T liike, takaperin
 - } - hyppää seuraavaan kappaleeseen (tai funktioon/lohkoon koodia editoidessa))
 - { - hyppää edelliseen kappaleeseen (tai funktioon/lohkoon koodia editoidessa))
 - zz - keskitä näyttö kursoriin
 - zt - sijoita kursori sivun yläosaan
 - zb - sijoita kursori sivun alaosaan
 - Ctrl + e - liikuta näyttöä yksi rivi alas (ilman että kursori liikkuu)
 - Ctrl + y - liikuta näyttöä yksi rivi ylös (ilman että kursori liikkuu)
 - Ctrl + b - siirrä näyttöä yksi sivu ylös (kursori viimeiselle riville)
 - Ctrl + f - siirrä näyttöä yksi sivu alas (kursori ensimmäiselle riville)
 - Ctrl + d - siirrä kursoria ja näyttöä 1/2 sivu alas
 - Ctrl + u - siirrä kursoria ja näyttöä 1/2 sivu ylös
 
Syöttötila - tekstin syöttäminen/lisääminen
- i - syötä kursorin eteen
 - I - syötä rivin alkuun
 - a - syötä (lisää) kursorin jälkeen
 - A - syötä (lisää) rivin loppuun
 - o - lisää (avaa) uusi rivi nykyisen rivin alle
 - O - lisää (avaa) uusi rivi nykyisen rivin yläpuolelle
 - ea - syötä (lisää) sanan loppuun
 - Ctrl + h - poista kursoria edeltävä merkki syöttytilassa ollessa
 - Ctrl + w - poista kursoria edeltävä sana syöttötilassa ollessa
 - Ctrl + j - lisää rivinvaihto kursin sijaintiin syöttytilassa ollessa
 - Ctrl + t - sisennä (siirrä oikealle) yhdellä shiftwidth-arvolla syöttytilassa ollessa
 - Ctrl + d - vähennä sisennystä (siirrä vasemmalle) yhdellä shiftwidth-arvolla syöttyötilassa ollessa
 - Ctrl + n - syötä (täydennä automaattisesti) seuraava osuma ennen kursoria syöttötilassa ollessa
 - Ctrl + p - syötä (täydennä automaattisesti) edellinen osuma ennen kursoria syöttötilassa ollessa
 - Ctrl + rx - syötä rekisterin x sisältö
 - Ctrl + ox - Siirry väliaikaisesti normaalitilaan ja syötä yksi normaalin tilan komento x.
 - Esc or Ctrl + c - poistu syöttötilasta
 
Muokkaaminen
- r - korvaa yksi merkki.
 - R - korvaa useampi kuin yksi merkki, kunnes ESC on painettu.
 - J - liitä alla oleva rivi nykyiseen välilyönnillä
 - gJ - liitä alla oleva rivi nykyiseen ilman välilyöntiä
 - gwip - formatoi kappale
 - g~ - muuta kirjaimien koko liikkeen loppuun asti
 - gu - muuta pieniksi kirjaimiksi liikkeen loppuun asti
 - gU - muuta isoiksi kirjaimiksi liikeen loppuun asti
 - cc - muuta (korvaa) koko rivi
 - c$ or C - muuta (korvaa) rivin loppun asti
 - ciw - muuta (korvaa) koko sana
 - cw or ce - muuta (korvaa) sanan loppuun asti
 - s - poista merkki ja korvaa tekstillä
 - S - poista rivi ja kovaa tekstillä (sama kuin cc)
 - xp - vaihda kahden kirjaimen paikkaa (leikkaa ja liitä)
 - u - peru
 - U - palauta (peru) viimeksi muutettu rivi
 - Ctrl + r - tee uudelleen
 - . - toista viimeisin komento
 
Tekstin merkintä (visuaalinen tila)
- v - käynnistä visuaalinen tila, merkitse alue, sitten aja komento (esim. y-nykäise)
 - V - käynnistä rivikohtainen visuaalinen tila
 - o - siirry merkityn alueen toiseen päähän
 - Ctrl + v - käynnistä lohkokohtainen visuaalinen tila
 - O - siirry lohkon toiseen kulmaan
 - aw - merkitse sana
 - ab - merkitse () lohko
 - aB - merkitse {} lohko
 - at - merkitse <> lohko
 - ib - merkitse () sisempi lohko
 - iB - merkitse {} sisempi lohko
 - it - merkitse <> sisempi lohko
 - Esc or Ctrl + c - poistu visuaalisesta tilasta
 
Visuaaliset komennot
- > - siirrä tekstiä oikealle
 - < - siirrä tekstiä vasemmalle
 - y - nykäise (kopioi) merkitty teksti
 - d - poista merkitty teksti
 - ~ - vaihda kirjaimien koko
 - u - muuta merkityn tekstin kirjaimet pieneksi
 - U - muuta merkityn tekstin kirjaimet isoiksi
 
Rekisterit
- :reg[isters] - näytä rekisterien sisältö
 - "xy - nykäisen rekisteriin x
 - "xp - liitä rekisterin x sisältö
 - "+y - nykäisen järjestelmän leikepöydän rekisteriin
 - "+p - liitä järjestelmän leikepöydän rekisteristä
 
             0 - viimeisin nykäsy
             " - nimeämätön rekisteri, viimeisin poisto tai nykäsy
             % - nykyisen tiedoston nimi
             # - vaihtoehtoinen tiedoston nimi
             * - leikepöydän sisältö (X11 ensisijainen)
             + - leikepöydän sisältö (X11 leikepöytä)
             / - viimeisin haku kaava
             : - viimeisin komento
             . - viimeisin syötetty teksti
             - - viimeisin pieni (alle rivin) poisto
             = - yhtälö rekisteri
             _ - musta aukko rekisteri
          
Merkit ja sijainnit
- :marks - lista merkeistä
 - ma - aseta nykyisen sijainti merkkiin A
 - `a - hyppää merkin A sijantiin
 - y`a - nykäise teksti merkin A sijaintiin asti
 - `0 - mene sijaintiin, jossa Vim edellisen kerran suljettiin
 - `" - mene sijaintiin, jossa viimeksi lähdit tiedostosta
 - `. - mene sijaintiin, jossa viimeisin muutos tehtiin tähän tiedostoon
 - `` - mene edellistä hyppyä edeltävään sijaintiin
 - :ju[mps] - listaa hypyt
 - Ctrl + i - mene uusimpaan sijaintiin hyppy listalla
 - Ctrl + o - mene vanhempaan sijantiin hyppy listalla
 - :changes - muutoslista
 - g, - mene uudempaan sijantiin muutoslistalla
 - g; - mene vanhempaan sijaintiin muutoslistalla
 - Ctrl + ] - hyppää kursorin alla olevaan tägiin
 
Makrot
- qa - tallenna makro a
 - q - lopeta makron tallennus
 - @a - aja makro a
 - @@ - aja viimeisin makro uudelleen
 
Leikkaa ja liitä
- yy - nykäise (kopioi) rivi
 - 2yy - nykäise (kopioi) 2 riviä
 - yw - nykäise (kopioi) sanan merkit kursorin tämän hetkisestä sijainnista seuraavan sanan alkuun
 - yiw - nykäise (kopioi) kursorin alla oleva sana
 - yaw - nykäise (kopioi) kursorin alla oleva sana ja väliluönnit sen edessä ja takana
 - y$ or Y - nykäise (kopioi) rivin loppuun
 - p - laita (liitä) kursorin jälkeen
 - P - laita (liitä) kursoria ennen
 - gp - laita (liitä) kursorin jälkeen ja jätä kursori uuden tekstin perään
 - gP - laita (liitä) kursorin eteen ja jätä kursori uuden tekstin perään
 - dd - poista (leikkaa) rivi
 - 2dd - poista (leikkaa) 2 riviä
 - dw - poista (leikkaa) sanan merkit kursorin sijainnista seuraavan sanan alkuun
 - diw - poista (leikkaa) kursorin alla oleva sana
 - daw - poista (leikkaa) kursoin alla oleva sana ja välilyönti sen edestä tai takaa
 - :3,5d - poista rivit kolme - viisi
 
e.g.
            :.,$d - Nykyiseltä riviltä tiedoston loppuun 
            :.,1d - Nykyiseltä riviltä tiedoston alkuun 
            :10,1d - Kymmenenneltä rivilä tiedoston alkuun 
          
- :g/{pattern}/d - poista kaikki rivit, joissa kaava esiintyy
 - :g!/{pattern}/d - poista kaikki rivit, joilla kaava ei esiinny
 - d$ or D - poista (leikkaa) rivin loppuun asti
 - x - poista (leikkaa) merkki
 
Tekstin sisennys
- >> - sisennä (siirrä oikealle) yhdellä shiftwidth-arvolla
 - << - vähennä sisennystä (siirrä vasemmalle) yhdellä shiftwidth-arvolla
 - >% - sisennä () tai {} lohko (kursori sulkeella)
 - <% - vähennä sisennystä () tai {} lohkolle (kursori sulkeella)
 - >ib - sisennä sisempi () lohko
 - >at - sisennä lohko <> tägeillä
 - 3== - uudelleen sisennä kolme riviä
 - =% - uudelleen sisennä () tai {} lohko (kursori sulkeella)
 - =iB - uudelleen sisennä sisempi {} lohko
 - gg=G - uudelleen sisennä koko bufferi
 - ]p - liitä ja muokkaa sisennystä nykyiselle riville
 
Poistuminen
- :w - kirjoita (tallenna) tiedosto, mutta älä poistu
 - :w !sudo tee % - kirjoite tiedosto sudolla
 - :wq or :x or ZZ - kirjoita (tallenna) ja poistu
 - :q - poistu (epäonnistuu, jos tiedostossa on tallentamattomia muutoksia)
 - :q! or ZQ - poiustu ja hylkää tallentamattomat muutokset
 - :wqa - kirjoita (tallenna) ja poistu kaikista välilehdistä
 
Etsi ja korvaa
- /pattern - etsi kaavaa
 - ?pattern - etsi kaavaa taaksepäin
 - \vpattern - 'very magic' kaava: ei-alfanumeeriset merkit tulkitaan regex-symboleina (ei tarvetta escapelle)
 - n - toista haku samaan suuntaan
 - N - toista haku toiseen suuntaan
 - :%s/old/new/g - korvaa kaikki old → new koko tiedostossa
 - :%s/old/new/gc - korvaa kaikki old → new koko tiedostossa varmistuksella
 - :noh[lsearch] - poista korostus haku osumista
 
Etsi useasta tiedostosta
- :vim[grep] /pattern/ {`{file}`} - etsi kaavaa useasta tiedostosta
 
- :cn[ext] - hyppää seuraavaan osumaan
 - :cp[revious] - hyppää edelliseen osumaan
 - :cope[n] - avaa ikkuna nähdäksesi listan osumista
 - :ccl[ose] - sulje quickfix ikkuna
 
Välilehdet
- :tabnew or :tabnew {page.words.file} - avaa tiedosto uudessa välilehdessä
 - Ctrl + wT - siirrä nykyinen jaettu ikkuna omaan välilehteen
 - gt or :tabn[ext] - siirry seuraavaan välilehteen
 - gT or :tabp[revious] - siirry edelliseen välilehteen
 - #gt - siirry välilehteen numero #
 - :tabm[ove] # - siirrä nykyinen välilehti #:teen sijaintiin (alkaen nollasta)
 - :tabc[lose] - sulje nykyinen välilehti ja sen kaikki ikkunat
 - :tabo[nly] - sulje kaikki muut paitsi nykyinen välilehti
 - 
            :tabdo command - aja 
komentokaikissa välilehdissä (esim.:tabdo q- sulkee kaikki avatut välilehdet) 
Usean tiedoston työstäminen
- :e[dit] tiedosto - muokkaa tiedostoa uudessa bufferissa
 - :bn[ext] - mene seuraavaan bufferiin
 - :bp[revious] - mene edelliseen bufferiin
 - :bd[elete] - poista bufferi (sulje tiedosto)
 - :b[uffer]# - mene bufferiin numero #
 - :b[uffer] file - mene bufferiin tiedostonimellä
 - :ls or :buffers - listaa kaikki avoimet bufferit
 - :sp[lit] tiedosto - avaa tiedosto uudessa bufferissa ja jaa ikkuna
 - :vs[plit] tiedosto - avaa tiedosto uudessa bufferissa ja jaa ikkuna vertikaalisesti
 - :vert[ical] ba[ll] - muokkaa kaikkia buffereita vertikaalisina ikkunoina
 - :tab ba[ll] - muokkaa kaikki buffereita välilehtinä
 - Ctrl + ws - jaa ikkuna
 - Ctrl + wv - jaa ikkuna vertikaalisesti
 - Ctrl + ww - vaihda ikkunaa
 - Ctrl + wq - sulje ikkuna
 - Ctrl + wx - vaihda nykyinen ikkuna seuraavan kanssa
 - Ctrl + w= - tee kaikista ikkunoista yhtä korkeita ja leveitä
 - Ctrl + wh - siirrä kursori vasempaan ikkunaan (vertikaalisessa jaossa)
 - Ctrl + wl - siirrä kursori oikeaan ikkunaan (vertikaalisessa jaossa)
 - Ctrl + wj - siirrä kursori alempaan ikkunaan (horisontaalisessa jaossa)
 - Ctrl + wk - siirrä kursori ylempään ikkunaan (horisontaalisessa jaossa)
 - Ctrl + wH - tee nykyisestä ikkunasta koko terminaali-ikkunan korkuinen vasempaan reunaan (vasemmanpuoleisin pystyikkuna)
 - Ctrl + wL - tee nykyisestä ikkunasta koko terminaali-ikkunan korkuinen oikeaan reunaan (oikeanpuoleisin pystyikkuna)
 - Ctrl + wJ - tee nykyisestä ikkunasta koko terminaali-ikkunan levyinen alas (alin vaakaikkuna)
 - Ctrl + wK - tee nykyisestä ikkunasta koko terminaali-ikkunan levyinen ylös (ylin vaakaikkuna)
 
Diff
- zf - määrittele taitos manuaalisesti seuraavaan liikkeeseen asti
 - zd - poista kursorin alla oleva taitos
 - za - avaa tai sulje kursorin alla oleva taitos
 - zo - avaa kursorin alla oleva taitos
 - zc - sulje kursorin alla oleva taitos
 - zr - avaa kaikkia taitoksia yhdellä tasolla
 - zm - sulje kaikki taitoksia yhdellä tasolla
 - zi - vaihda taitto ominaisuus päälle tai pois
 - ]c - hyppää seuraavan muutoksen alkuun
 - [c - hyppää edellisen muutoksen alkuun
 - do or :diffg[et] - hae erot (toisesta bufferista)
 - dp or :diffpu[t] - laita erot (toiseen bufferiin)
 - :diffthis - ota nykyinen ikkuna mukaan diffiin
 - :dif[fupdate] - päivitä erot
 - :diffo[ff] - sulje diff-tila nykyisestä ikkunasta