Vim mantiene un historial de posiciones y permite marcar ubicaciones exactas dentro de uno o varios archivos. Estos mecanismos eliminan la necesidad de buscar visualmente dónde estabas trabajando.


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

Lista de saltos (jumplist)

ModoComandoAcción
N<Ctrl-o>Salta a la posición anterior en el jumplist
N<Ctrl-i>Salta a la posición siguiente en el jumplist
N:jumpsMuestra el historial completo de saltos
N:clearjumpsLimpia el jumplist del buffer actual

Generan un salto automáticamente: gg, G, {n}G, /, ?, %, (, ), {, }, y saltos entre archivos.


Lista de cambios (changelist)

ModoComandoAcción
Ng;Salta al cambio anterior en el changelist
Ng,Salta al cambio siguiente en el changelist
N:changesMuestra el historial de cambios
NgiVa al último punto de inserción y entra a Insert

Marks locales (por buffer)

ModoComandoAcción
Nm{a-z}Crea un mark local con letra minúscula
N`{a-z}Salta exactamente al mark (línea y columna)
N'{a-z}Salta al inicio de la línea del mark
N:marksLista todos los marks activos
N:delmarks {a-z}Elimina el mark especificado
N:delmarks!Elimina todos los marks locales del buffer

Marks globales (entre archivos)

ModoComandoAcción
Nm{A-Z}Crea un mark global con letra mayúscula
N`{A-Z}Salta al mark global (abre el archivo si es necesario)
N'{A-Z}Salta al inicio de la línea del mark global
Nm{0-9}Marks especiales escritos automáticamente por Vim al salir

Marks automáticos (set by Vim)

ModoComandoAcción
N`.Posición del último cambio
N`^Posición de la última inserción
N`[Inicio del último texto modificado o copiado
N`]Fin del último texto modificado o copiado
N`<Inicio de la última selección Visual
N`>Fin de la última selección Visual
N`Posición antes del último salto

Navegación por párrafos y bloques

ModoComandoAcción
N{Salta al párrafo anterior (línea vacía)
N}Salta al párrafo siguiente
N(Salta a la oración anterior
N)Salta a la oración siguiente
N%Salta al par del delimitador bajo el cursor ((), [], {})
N[{Salta al { de apertura del bloque actual
N]}Salta al } de cierre del bloque actual
N[(Salta al ( de apertura del bloque actual
N])Salta al ) de cierre del bloque actual

Tips

  • Usa marks mayúsculas (mA, mB) como bookmarks persistentes entre sesiones para archivos que editas frecuentemente: config, main, etc.
  • `. es el mark más útil del día a día: te lleva exactamente donde hiciste el último cambio, sin importar cuánto hayas navegado.
  • g; repetido varias veces recorre el historial de edición hacia atrás, ideal para revisar qué tocaste recientemente.
  • Combina marks con operadores: d`a borra desde el cursor hasta el mark a con precisión quirúrgica.
  • :jumps y :changes muestran índices numéricos; puedes saltar directamente con {n}<Ctrl-o> para ir varios pasos atrás de una vez.