Global
- :h[elp] keyword - obrir l'ajuda per a una paraula clau
- :sav[eas] file - desar arxiu com a
- :clo[se] - tancar l'arxiu actual
- :ter[minal] - obrir un terminal
- K - obrir la página del manual (man page) per a la paraula sota el cursor
Moure el cursor
- h - moure el cursor cap a l'esquerra
- j - moure el cursor cap avall
- k - moure el cursor cap amunt
- l - moure el cursor cap a la dreta
- gj - move cursor down (multi-line text)
- gk - move cursor up (multi-line text)
- H - moure's a la part superior de la pantalla
- M - moure's a la part mitja de la pantalla
- L - moure's al part inferior de la pantalla
- w - saltar a l'inici de la següent paraula
- W - saltar a l'inici de la següent paraula (la paraula pot contenir puntuació)
- e - saltar al final de la següent paraula
- E - saltar al final de la següent paraula (la paraula pot contenir puntuació)
- b - tornar a l'inici d'una paraula
- B - tornar a l'inici d'una paraula (la paraula pot contenir puntuació)
- ge - saltar enrere fins al final d'una paraula
- gE - saltar enrere fins al final d'una paraula (la paraula pot contenir puntuació)
- % - anar al caràcter relacionat (parells per defecte: '()', '{}', '[]' - utilitzeu :h matchpairs a Vim per a més informació)
- 0 - saltar a l'inici de la línia
- ^ - saltar al primer caràcter de la línia que no estigui en blanc
- $ - saltar al final de la línia
- g_ - saltar a l'últim caràcter de la línia que no estigui en blanc
- gg - anar a la primera línia del document
- G - anar a la darrera línia del document
- 5gg or 5G - anar a la línia 5
- gd - saltar a la declaració local
- gD - saltar a la declaració global
- fx - saltar a la següent aparició del caràcter x
- tx - saltar a la posició anterior a la següent aparició del caràcter x
- Fx - saltar a l'aparició anterior del caràcter x
- Tx - saltar a la posició següent a l'anterior aparició del caràcter x
- ; - repetir el moviment anterior d'f, t, F o T
- , - repetir el moviment anterior d'f, t, F o T, cap enrere
- } - saltar al paràgraf següent (o funció/bloc, en mode d'edició)
- { - saltar al paràgraf anterior (o funció/bloc, en mode d'edició)
- zz - centrar el cursor a la pantalla
- zt - position cursor on top of the screen
- zb - position cursor on bottom of the screen
- Ctrl + e - moure la pantalla cap avall una línia (sense moure el cursor)
- Ctrl + y - moure la pantalla una línia cap amunt (sense moure el cursor)
- Ctrl + b - retrocedir una pantalla sencera
- Ctrl + f - avançar una pantalla sencera
- Ctrl + d - avançar mitja pantalla
- Ctrl + u - retrocedir mitja pantalla
Mode inserir - inserir/afegir text
- i - inserir abans del cursor
- I - inserir a l'inici de la línia
- a - inserir després del cursor
- A - inserir al final de la línia
- o - inserir una nova línia sota la línia actual
- O - inserir una nova línia sobre la línia actual
- ea - inserir després de la paraula
- Ctrl + h - esborrar el caràcter abans del cursor durant el mode d'inserció
- Ctrl + w - esborrar la paraula abans del cursor durant el mode d'inserció
- Ctrl + j - començar una nova línia durant el mode d'inserció
- Ctrl + t - sagnar (moure cap a la dreta) la línia un espai d'autoindentació (shiftwidth) durant el mode d'inserció
- Ctrl + d - suprimir el sagnat (moure cap a l'esquerra) de la línia un espai d'autoindentació (shiftwidth) durant el mode d'inserció
- Ctrl + n - inserir (autocompletar) la coincidència següent abans del cursor durant el mode d'inserció
- Ctrl + p - inserir (autocompletar) la coincidència anterior abans del cursor durant el mode d'inserció
- Ctrl + rx - inserir el contingut del registre x
- Ctrl + ox - canviar temporalment al mode normal per a executar un comandament x en mode normal
- Esc or Ctrl + c - sortir del mode d'inserció
Editar
- r - substituir un caràcter
- R - substituir més de un caràcter, fins que es premi ESC.
- J - afegir la línia de sota a l'actual amb un espai entre mig
- gJ - afegir la línia de sota a l'actual sense espai entre mig
- gwip - redistribuir el text de paràgraf
- g~ - intercanviar majúscules i minúscules segons el moviment
- gu - canviar a minúscules segons el moviment
- gU - canviar a majúscules fins al moviment
- cc - canviar (substituir) tota la línia
- c$ or C - canviar (substituir) fins al final de la línia (igual que C)
- ciw - canviar (substituir) la paraula sencera
- cw or ce - canviar (substituir) fins al final de la paraula
- s - esborrar caràcter i substituir text
- S - esborrar línia i substituir text (igual que cc)
- xp - transposar dos caràcters (suprimir i enganxar)
- u - desfer
- U - restaurar (desfer) la darrera línia modificada
- Ctrl + r - refer
- . - repetir el darrer comandament
Seleccionar text (mode visual)
- v - iniciar el mode visual, seleccionar línies i executar un comandament (com y-yank)
- V - iniciar el mode visual seleccionant la línia completa
- o - moure's a l'altre extrem de la zona seleccionada
- Ctrl + v - iniciar el mode visual de bloc (visual block mode)
- O - moure's a l'altre cantó del bloc
- aw - seleccionar una paraula
- ab - un bloc amb ()
- aB - un bloc amb {}
- at - un bloc amb etiquetes <>
- ib - un bloc intern amb ()
- iB - un bloc intern amb {}
- it - bloc interior amb etiquetes <>
- Esc or Ctrl + c - sortir del mode visual
Comandaments visuals
- > - desplaçar el text cap a la dreta
- < - desplaçar el text cap a l'esquerra
- y - copiar el text seleccionat
- d - esborrar el text seleccionat
- ~ - intercanviar entre majúscules i minúscules
- u - posar el text seleccionat en minúscules
- U - posar el text seleccionat en majúscules
Registres
- :reg[isters] - mostrar el contingut dels registres
- "xy - copiar al registre X
- "xp - enganxar el contingut del registre X
- "+y - copiar al registre del porta-retalls del sistema
- "+p - enganxar des del registre del porta-retalls del sistema
0 - darrera còpia
" - registre sense nom, darrera eliminació o còpia
% - nom actual de l'arxiu
# - nom alternatiu de l'arxiu
* - contingut del porta-retalls (X11 primari)
+ - contingut del porta-retalls (porta-retalls X11)
/ - darrer patró de cerca
: - darrera línia de comandaments
. - darrer text inserit
- - darrer esborrat breu (inferior a una línia)
= - registre d'expressió
_ - registre de forat negre
Marques
- :marks - mostrar marques
- ma - definir la posició actual per a la marca A
- `a - saltar a la posició de la marca A
- y`a - copiar text a la posició de la marca A
- `0 - anar a la posició des de la qual es va sortir prèviamente de Vim
- `" - anar a la posició de la darrera edició de l'arxiu
- `. - anar a la posició on es va produir el darrer canvi de l'arxiu
- `` - anar a la posició abans del darrer salt
- :ju[mps] - llistat de salts
- Ctrl + i - anar a la nova posició del llistat de salts
- Ctrl + o - anar a la posició anterior del llistat de salts
- :changes - llistat de canvis
- g, - anar a la nova posició del llistat de canvis
- g; - anar a la posició anterior del llistat de canvis
- Ctrl + ] - saltar a l'etiqueta sota el cursor
Macros
- qa - enregistrar la macro a
- q - detenir la gravació de la macro
- @a - executar la macro a
- @@ - tornar a executar la darrera macro executada
Copiar i enganxar
- yy - copiar una línia
- 2yy - copiar dues línies
- yw - copiar la resta de caràcters de la paraula desde la posició del cursor fins a l'inici de la paraula següent
- yiw - copiar la paraula sota el cursor
- yaw - copiar la paraula sota el cursor i l'espai darrere o davant d'ella
- y$ or Y - copiar fins al final de la línia
- p - enganxar abans del cursor
- P - enganxar després del 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 - esborrar (retallar) una línia
- 2dd - esborrar (retallar) dues línias
- dw - esborrar (retallar) la resta de caràcters de la paraula des de la posició del cursor fins a l'inici de la paraula següent
- diw - esborrar (retallar) la paraula sota el cursor
- daw - esborrar (retallar) la paraula sota el cursor i l'espai darrere o davant d'ella
- :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 - esborrar (retallar) fins al final de la línia
- x - esborrar (retallar) un caràcter
Indentar el text
- >> - sagnar (moure cap a la dreta) la línia un espai d'utoindentació (shiftwidth)
- << - suprimir el sagnat (moure cap a l'esquerra) la línia un espai d'autoindentació (shiftwidth)
- >% - sagnar un bloc amb () o {} (amb el cursor sobre el parèntesi o la clau)
- <% - de-indent a block with () or {} (cursor on brace)
- >ib - sagnar el bloc interior amb ()
- >at - sagnar un bloc amb etiquetes <>
- 3== - tornar a sagnar 3 línies
- =% - tornar a sagnar un bloc amb () o {} (amb el cursor sobre el parèntesi o la clau)
- =iB - tornar a sagnar el bloc interior amb {}
- gg=G - tornar a sagnar tots els caràcters a la memòria intermèdia (buffer)
- ]p - enganxar i ajustar la sagnia a la línia actual
Sortir
- :w - desar l'arxiu sense sortir
- :w !sudo tee % - desar l'arxiu utilitzant sudo
- :wq or :x or ZZ - desar l'arxiu i sortir
- :q - sortir (no funcionarà en cas que hi hagi canvis sense desar)
- :q! or ZQ - sortir descartant els canvis no desats
- :wqa - escriure (desar) i sortir de totes les pestanyes
Cercar i substituir
- /pattern - cercar patró
- ?pattern - cercar patró cap enrere
- \vpattern - patró «molt màgic» ('very magic'): els caràcters no alfanumèrics s'interpretaran com a caràcters especials regex (no cal escapar-los)
- n - repetir la cerca en la mateixa direcció
- N - repetir la cerca en direcció oposada
- :%s/old/new/g - substituir a tot l'arxiu
- :%s/old/new/gc - substituir a tot l'arxiu demanat la confirmació
- :noh[lsearch] - desactivar el realçament (highlight) dels resultats de cerca
Cercar a múltiples arxius
- :vim[grep] /pattern/ {`{file}`} - cercar un patró a múltiples arxius
- :cn[ext] - anar al resultat següent
- :cp[revious] - anar al resultat anterior
- :cope[n] - obrir una finestra amb el llistat de resultats
- :ccl[ose] - tancar la finestra de correcció ràpida
Pestanyes
- :tabnew or :tabnew {page.words.file} - obrir arxiu a una nova pestanya
- Ctrl + wT - moure la finestra actual a la seva pròpia pestanya
- gt or :tabn[ext] - anar a la pestanya següent
- gT or :tabp[revious] - anar a la pestanya anterior
- #gt - anar a la pestanya número #
- :tabm[ove] # - moure la pestanya actual a la posició número # (indexada a partir del 0)
- :tabc[lose] - tancar totes les pestanyes i les seves finestres
- :tabo[nly] - tancar totes les pestanyes tret de l'actual
-
:tabdo command - executar el
comandament
a totes las pestanyes (per exemple,:tabdo q
- tanca totes les pestanyes obertes)
Treballar amb múltiples arxius
- :e[dit] file - editar un arxiu en una nova memòria intermèdia (buffer)
- :bn[ext] - anar a la propera memòria intermèdia (buffer)
- :bp[revious] - anar a la memòria intermèdia (buffer) anterior
- :bd[elete] - esborrar la memòria intermèdia (buffer) (tancar un arxiu)
- :b[uffer]# - anar a una memòria intermèdia (buffer) a través del número # d'índex
- :b[uffer] file - anar a una memòria intermèdia (buffer) per arxiu
- :ls or :buffers - mostrar totes les memòries intermèdies (buffer) en ús
- :sp[lit] file - obrir un arxiu en una nova memòria intermèdia (buffer) i dividir la finestra
- :vs[plit] file - obrir arxiu en una nova memòria intermèdia (buffer) i dividir la finestra verticalment
- :vert[ical] ba[ll] - editar totes les memòries intermèdies (buffers) com a finestres verticals
- :tab ba[ll] - editar totes les memòries intermèdies (buffers) com a pestanyes
- Ctrl + ws - dividir la finestra
- Ctrl + wv - dividir la finestra verticalment
- Ctrl + ww - canviar de finestra
- Ctrl + wq - tancar la finestra
- Ctrl + wx - intercanviar la finestra actual amb la següent
- Ctrl + w= - igualar l'alçada i l'amplada de totes les finestres
- Ctrl + wh - moure el cursor a la finestra esquerra (divisió vertical)
- Ctrl + wl - moure el cursor a la finestra dreta (divisió vertical)
- Ctrl + wj - moure el cursor a la finestra de sota (divisió horitzontal)
- Ctrl + wk - moure el cursor a la finestra de dalt (divisió horitzontal)
- 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)
Diferència
- zf - definir manualment un plec (fold o línies amagades) segons el moviment
- zd - esborrar el plec (fold o línies amagades) sota el cursor
- za - obrir o tancar el plec (fold o línies amagades) sota el cursor
- zo - obrir el plec (fold o línies amagades) sota el cursor
- zc - tancar el plec (fold o línies amagades) sota el cursor
- zr - suprimir (obrir) un nivell de plecs (folds o línies amagades)
- zm - plegar més (tancar) un nivell de plecs (folds o línies amagades)
- zi - obrir o tancar la funcionalitat de plegat
- ]c - saltar a l'inici del canvi següent
- [c - saltar a l'inici del canvi anterior
- do or :diffg[et] - obtenir (get) la diferència (respecte a altra memòria intermèdia o buffer)
- dp or :diffpu[t] - col·locar (put) la diferència (a una altra memòria intermèdia o buffer)
- :diffthis - fer que la finestra actual s'incorpori al mode diferencial
- :dif[fupdate] - actualitzar les diferències
- :diffo[ff] - desactivar el mode diferencial per a la finestra actual