El movimiento en Vim se hace desde Normal mode sin tocar el ratón. Dominar estas teclas elimina la dependencia de las flechas y acelera la edición desde el primer día.


Abreviaciones de modos:
N = Normal | I = Insert | V = Visual | C = Command | VB = Visual Block

Movimiento por caracteres y palabras

ModoComandoAcción
NhUn carácter a la izquierda
NlUn carácter a la derecha
NjUna línea abajo
NkUna línea arriba
NwAl inicio de la siguiente palabra
NWAl inicio de la siguiente PALABRA (ignora puntuación)
NbAl inicio de la palabra anterior
NBAl inicio de la PALABRA anterior
NeAl final de la palabra actual/siguiente
NEAl final de la PALABRA actual/siguiente
NgeAl final de la palabra anterior

Movimiento por línea

ModoComandoAcción
N0Al primer carácter de la línea
N^Al primer carácter no-blanco de la línea
N$Al final de la línea
Ng_Al último carácter no-blanco de la línea
Nf{c}Salta al siguiente carácter c en la línea
NF{c}Salta al carácter c anterior en la línea
Nt{c}Salta justo antes del siguiente carácter c
NT{c}Salta justo después del carácter c anterior
N;Repite el último f, F, t o T
N,Repite el último salto en dirección opuesta

Movimiento por pantalla y archivo

ModoComandoAcción
NggPrimera línea del archivo
NGÚltima línea del archivo
N{n}GVa a la línea número n
N{n}%Va al n% del archivo
NHPrimera línea visible de la pantalla
NMLínea central de la pantalla
NLÚltima línea visible de la pantalla
N<Ctrl-d>Baja media pantalla
N<Ctrl-u>Sube media pantalla
N<Ctrl-f>Baja una pantalla completa
N<Ctrl-b>Sube una pantalla completa

Scroll sin mover el cursor

ModoComandoAcción
NzzCentra la línea actual en pantalla
NztLleva la línea actual al tope de pantalla
NzbLleva la línea actual al fondo de pantalla
N<Ctrl-e>Scroll hacia abajo sin mover cursor
N<Ctrl-y>Scroll hacia arriba sin mover cursor

Tips

  • Prefija cualquier movimiento con un número para repetirlo: 5j baja 5 líneas, 3w avanza 3 palabras.
  • f y t son muy potentes combinados con operadores: dt, borra hasta la siguiente coma sin incluirla.
  • Prefiere ^ sobre 0 cuando la línea tiene indentación; lleva directo al código, no al espacio en blanco.
  • :set relativenumber muestra números de línea relativos, lo que hace que {n}j o {n}k sean triviales de calcular.
  • zz es el comando más útil de scroll: recentra la vista sin interrumpir el flujo de edición.