Moviments bàsics | |
| h l k j | caràcter esquerra, dreta; línia amunt, avall |
| b w | paraula esquerra, dreta |
| ge e | final de paraula esquerra, dreta |
| { } | començament del paràgraf anterior, següent |
| ( ) | començament de frase anterior, següent |
| 0 gm | començament, mig de la línia |
| ^ $ | primer, últim caracter de la línia |
| nG ngg | línia n (per defecte la última), primera |
| n% | percentatge n del fitxer (n és obligatori) |
| n| | columna n de la línia actual |
| % | parèntesi, claudàtor, clau, corresponent, #define |
| nH nL | línia n des del principi, final de la finestra |
| M | línia central de la finestra |
Inserció & remplaçament | |
| i a | inserta abans, després del cursor |
| I A | inserta al començament, final de la línia |
| gI | inserta text a la primera columna |
| o O | obre una línia nova sota, sobre l'actual |
| rc | remplaça per c el caràcter sota el cursor |
| grc | com r, però sense afectar el format |
| R | remplaça caràcters començant al cursor |
| gR | com R, però sense afectar el format |
| cm | canvia el text del moviment m |
| cc or S | canvia la línia actual |
| C | canvia fins al final de la línia |
| s | canvia un caràcter i inserta |
| ~ | canvia majúscules/minúscules |
| g~m | canvia maj./min. del moviment m |
| gum gUm | canvia maj./min. el text del moviement m |
| <m >m | sagna esquerra, dreta el text de m |
| n<< n>> | sagna n línies cap a l'esquerra, dreta |
Supressió | |
| x X | suprimeix el caràcter sota, abans del cursor |
| dm | suprimeix el text del moviment m |
| dd D | suprimeix la línia actual, fins al final |
| J gJ | ajunta la línia acutal i la següent, sense espai |
| :rd↵ | suprimeix r línies |
| :rdx↵ | suprimeix r línies i posa-les al registre x |
Mode d'inserció | |
| ^Vc ^Vn | insereix caràcter literal c, de valor ASCII n |
| ^A | insereix el mateix text un altre cop |
| ^@ | igual que ^A, i torna a mode normal |
| ^Rx ^R^Rx | insereix el contingut de x, literalment |
| ^N ^P | completa el text mirant endavant, enrere |
| ^W | suprimeix la paraula sota el cursor |
| ^U | suprimeix el text inserit a la línia acutal |
| ^D ^T | sagna a l'esquerra, a la dreta |
| ^Kc1c2 or c1←c2 | introdueix el dígraf \c1,c2\ |
| ^Oc | executa c en un mode normal temporal |
| ^X^E ^X^Y | desplaça amunt, avall |
| <esc> or ^[ | abandona l'inserció i torna a mode normal |
Còpia | |
| "x | empra el registre x en l'operació següent |
| :reg↵ | mostra el contingut de tots els registres |
| :reg x↵ | mostra el contingut del registre x |
| ym | copia el text del moviment m |
| yy or Y | copia la línia actual |
| p P | enganxa abans, després del cursor |
| ]p [p | com p, P amb el sagnat correcte |
| gp gP | com p, P deixant el cursor al final |
Inserció avançada | |
| g?m | codifica en rot13 el text del moviment m |
| n^A n^X | +n, -n al nombre sota el cursor |
| gqm | justifica les línies del moviment m |
| :rce w↵ | centra les línies del rang r, amplada w |
| :rle i↵ | alinea a l'esq. les línies de r, indentació i |
| :rri w↵ | alinea a la dreta les línies de r, amplada w |
| !mc↵ | filtra les línes de m per l'ordre c |
| n!!c↵ | filtra n línies per l'ordre c |
| :r!c↵ | filtra el rang r per l'ordre c |
Mode visual | |
| v V ^V | selecciona caràcters, línies, bloc |
| o | mou el cursor al principi de la selecció |
| gv | repeteix la selecció anterior |
| aw as ap | selecciona paraula, frase, paràgraf |
| ab aB | selecciona un bloc ( ), un bloc { } |
Desfer, repetició & registres | |
| u U | desfés l'última acció, restaura la línia |
| . ^R | repeteix l'acció, refés l'acció desfeta |
| n. | repeteix l'acció amb el nombre n |
| qc qC | enregistra, afegeix caràcters al registre c |
| q | atura l'enregistratge |
| @c | executa el contingut del registre c |
| @@ | repeteix l'última acció @ |
| :@c↵ | executa el registre c en mode Ex |
| :rg/p/c↵ | executa l'ordre Ex c al rang r |
| allà on p concorda | |
Moviments avançats | |
| - + | línia amunt, avall fins el primer caràcter no-blanc |
| B W | paraula esquerra, dreta |
| gE E | final de paraula esquerra, dreta |
| n_ | avall n-1 línies fins el primer caràcter no-blanc |
| g0 | començament de la línia en la pantalla |
| g^ g$ | primer, últim caràcter de la línia en la pantalla |
| gk gj | línia de pantalla amunt, avall |
| fc Fc | següent, anterior occurència del caràcter c |
| tc Tc | abans de la següent, anterior occurrència de c |
| ; , | repeteix l'últim fFtT, cap a l'altre cantó |
| [[ ]] | començament de la secció enrere, endavant |
| [] ][ | final de secció enrere, endavant |
| [( ]) | (, ) enrere, endavant |
| [{ ]} | {, } enrere, endavant |
| [m ]m | mètode Java enrere, endavant |
| [# ]# | #if, #else, #endif enrere, endavant |
| [* ]* | començament, final de /* */ enrere, endavant |
Cerca & substitució | |
| /s↵ ?s↵ | cerca s endavant, enrere |
| /s/o↵ ?s?o↵ | cerca s amb desplaçament o |
| n or /↵ | repeteix última cerca cap endavant |
| N or ?↵ | repeteix última cerca cap enrere |
| # * | cerca enrere, endavant la paraula sota el cursor |
| g# g* | el mateix, però troba concordances parcials |
| gd gD | definició local, global del símbol sota el cursor |
| :rs/f/t/x↵ | substiteix f per t al rang r |
| x: g-totes les ocurrences, c-demana confirmació | |
| :rs x↵ | repeteix substitució amb nous r & x |
Caràcters especials a la cerca | |
| . ^ $ | qualsevol caràcter, principi, final de línia |
| \< \> | principi, final de paraula |
| [c1-c2] | un caràcter al rang c1..c2 |
| [^c1-c2] | un caràcter fora del rang |
| \i \k \I \K | identificador, paraula clau; sense dígits |
| \f \p \F \P | nom de fitxer, car. imprimible; s.d. |
| \s \S | espai blanc, espai no-blanc |
| \e \t \r \b | <esc>, <tab>, <↵>, <←> |
| \= * \+ | concorda 0..1, 0..∞, 1..∞ àtoms precedents |
| \| | separa dues branques (disjunció) |
| \( \) | agrupa patrons dins un àtom |
| \& \n | el patró sencer, el n-èssim grup () |
| \u \l | caràcter en minúscules, en majúscules |
| \c \C | ignora, concorda majúscules/minúscules |
Desplaçaments a les ordres de cerca | |
| n or +n | n línies cap avall a la columna 1 |
| -n | n línies amunt a la column 1 |
| e+n e-n | n car. dreta, esq., del final de concordança |
| s+n s-n | n car. dreta, esq., del principi de conc. |
| ;sc | executa l'ordre de cerca sc després |
Marques i moviments | |
| mc | marca la posició actual com c ∈[a..Z] |
| `c `C | vés a la marca c del fitxer actual, C qualsevol |
| `0..9 | vés a les últimes posicions de sortida |
| `` `" | posició d'abans del salt, abans de l'edició |
| `[ `] | començament, final de l'últim text editat |
| :marks↵ | llista de marques actives |
| :jumps↵ | llista de salts |
| n^O | n-èssima posició antiga a la llista de salts |
| n^I | n-èssima posició nova a la llista de salts |
Mapatge & abreviatures | |
| :map c e↵ | mapar c ↦ e en modes normal i visual |
| :map! c e↵ | mapar en modes d'inserció i línia d'ordres |
| :unmap c↵ :unmap! c↵ | suprimeix el mapatge c |
| :mk f↵ | desa els mapatges actuals al fitxer f |
| :ab c e↵ | afegeix abreviatura c ↦ e |
| :ab c↵ | mostra les abreviatures que comencen en c |
| :una c↵ | suprimeix l'abreviatura c |
Tags (etiquetes) | |
| :ta t↵ | salta al tag t |
| :nta↵ | salta al n-èssim tag de la llista |
| ^] ^T | salta al tag sota el cursor, torna |
| :ts t↵ | mostra els tags que concorden i tria'n un |
| :tj t↵ | salta a un tag o tria'n un si s'escau |
| :tags↵ | mostra la llista de tags |
| :npo↵ :n^T↵ | torna de l'n-èssim tag |
| :tl↵ | salta a l'últim tag que concorda |
| ^W} :pt t↵ | previsualitza tag sota el cursor, t |
| ^W] | parteix la finestra i mostra-hi el tag sota el cursor |
| ^Wz or :pc↵ | tanca la finestra de previsualització |
Desplaçament & finestres | |
| ^E ^Y | desplaça una línia amunt, avall |
| ^D ^U | desplaça mitja pàgina amunt, avall |
| ^F ^B | desplaça una pàgina amunt, avall |
| zt or z↵ | posa la línia actual dalt de la finestra |
| zz or z. | línia actual al mig de la finestra |
| zb or z- | línia ctual a baix de la finestra |
| zh zl | desplaça un caràcter a la dreta, esquerra |
| zH zL | desplaça mitja pantalla a la dreta, esquerra |
| ^Ws or :split↵ | parteix la finestra en dues |
| ^Wn or :new↵ | crea una finestra nova buida |
| ^Wo or :on↵ | fes que la finestra actual sigui la única |
| ^Wj ^Wk | vés a la finestra d'amunt, d'avall |
| ^Ww ^W^W | finestra d'amunt, d'avall (cíclicament) |
Ordres Ex (↵) | |
| :e f | edita el fitxer f, excepte si s'han fet canvis |
| :e! f | edita el fitxer f |
| :wn :wN | desa aquest fitxer i edita el següent, l'anterior |
| :n :N | edita el fitxer següent, anterior de la llista |
| :rw | escriu el rang r al fitxer actual |
| :rw f | escriu el rang r al fitxer f |
| :rw>>f | escriu el rang r al final de f |
| :q :q! | surt amb confirmació, perdent els canvis |
| :wq or :x or ZZ | desa aquest fitxer i surt |
| <up> <down> | autocompleta ordres |
| :r f | insereix el contingut de f sota el cursor |
| :r! c | insereix la sortida de l'ordre c |
| :all | obre una finestra per cada fitxer |
| :args | mostra la línia d'ordres |
Rangs | |
| , ; | separa dos nombres de línia, primera línia |
| n | nombre de línia absolut |
| . $ | línia actual, última línia del fitxer |
| % '<,'> | fitxer sencer, àrea visual |
| 't | posició de la marca t |
| /p/ ?p? | línia següent, anterior, on p concorda |
| +n -n | +n, -n al nombre de línia anterior |
Plecs | |
| zf zfm | fes un plec de l'àrea visual, del moviment m |
| :rfo | fes un plec del rang r |
| zd zE | esborra el plec sota el cursor, tots els visibles |
| zo zc zO zC | obre, tanca un plec; recursivament |
| [z ]z | vés al començament, final del plec actual |
| zj zk | vés al plec de més avall, amunt |
Miscel.lània | |
| :sh↵ :!c↵ | intèrpret d'ordres, executa-hi c |
| K | cerca la paraula sota el cursor al man |
| :make↵ | executa make i vés al primer error |
| :cn↵ :cp↵ | mostra l'error següent, anterior |
| :cl↵ :cf↵ | mostra tots els errors, d'un fitxer |
| ^L ^G | redibuixa la pantalla, mostra fitxer i posició |
| g^G | mostra coordenades del cursor |
| ga | mostra la valor ASCII del caràcter sota el cursor |
| gf | obre fitxer amb el nom que apareix al cursor |
| :redir>f↵ | redirigeix la sortida al fitxer f |
| :mkview [f] | desa l'estat actual [al fitxer f] |
| :loadview [f] | carrega un estat [del fitxer f] |
| ^@ ^K ^_ \ Fn ^Fn | tecles no mapades |
Invocació | |
| vim f +n | obre el fitxer f i vés a la línia n |
| vim -t t | vés al tag t |
| vim -p <fitxers> | obre els fitxers en pestanyes |
| vim -o <fitxers> | obre en finestres, horitzontalment |
| vim -O <fitxers> | obre en finestres, verticalment |