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 |