wandres.dev
NOVATO · Fundamentos

El modelo modal y los movimientos

Los modos de Neovim, cómo entrar y salir de cada uno, y el arsenal completo de movimientos para desplazarte por el código sin flechas ni ratón.

⏱ 18 min

Aquí empieza la memoria muscular. El modelo modal es lo que separa a Neovim de todo lo demás. Vas a aprender a moverte por el texto con precisión quirúrgica usando solo la fila base del teclado.

🎯 Al terminar esta lección sabrás
  • Entender los modos: Normal, Insertar, Visual, Comando, Reemplazo y Terminal.
  • Moverte por caracteres, palabras, líneas, pantallas y por búsqueda.
  • Editar con los comandos básicos y repetir con ..
  • Guardar y salir sin pánico.

Los modos

Neovim siempre está en un modo. La tecla que pulsas significa cosas distintas según dónde estés. Este es el mapa mental completo:

stateDiagram-v2
[*] --> Normal
Normal --> Insertar: i a o
Insertar --> Normal: Esc
Normal --> Visual: v V Ctrl-v
Visual --> Normal: Esc
Normal --> Comando: dos puntos
Comando --> Normal: Enter o Esc
Normal --> Reemplazo: R
Reemplazo --> Normal: Esc
Normal --> Terminal: comando terminal
Terminal --> Normal: Ctrl-barra Ctrl-n
🧭

Normal

El hogar. Donde navegas y ejecutas comandos. Vuelves aquí con Esc. Pasas aquí la mayor parte del tiempo.

✍️

Insertar

Escribes texto normal. Entras con i, a, o… y sales con Esc.

🔲

Visual

Seleccionas texto. v por carácter, V por línea, Ctrl-v en bloque (columnas).

⌨️

Comando

Comandos Ex (:w, :q, :s/…). Entras con :.

💡
Esc está lejos: remapea

En el Nivel 1 mapearás algo cómodo (como jk o Caps Lock) para volver a Normal. De momento, usa Esc o Ctrl-[, que hace lo mismo y está más cerca.

Movimientos: navegar sin flechas

Todos estos comandos se usan en modo Normal. Este es tu nuevo teclado de navegación.

Por caracteres y líneas

h j k l izquierda · abajo · arriba · derecha0 inicio de línea^ primer no-blanco$ fin de línea

Por palabras

Tecla Movimiento
w inicio de la siguiente palabra
b inicio de la palabra anterior
e final de la palabra actual/siguiente
W B E igual pero por “WORD” (bloques separados por espacios)

Saltos verticales y de pantalla

Tecla Movimiento
gg / G inicio / final del archivo
42G o :42 ir a la línea 42
Ctrl-d / Ctrl-u media pantalla abajo / arriba
{ / } párrafo anterior / siguiente
% salta al paréntesis/llave que empareja

Búsqueda de caracteres en la línea (rapidísimo)

Tecla Movimiento
f{char} salta al siguiente {char}
t{char} salta justo antes del siguiente {char}
F / T igual, hacia atrás
; / , repite la última búsqueda f/t adelante / atrás

Búsqueda de texto

Tecla Movimiento
/texto + Enter busca hacia adelante
?texto + Enter busca hacia atrás
n / N siguiente / anterior coincidencia
* busca la palabra bajo el cursor
El truco del conteo

Casi cualquier movimiento acepta un número delante: 3w avanza 3 palabras, 5j baja 5 líneas, 2f, salta a la segunda coma. Este patrón número + comando es la base de la composición que verás en la próxima lección.

Entrar en modo Insertar

No solo existe i. Elige el punto de entrada exacto y ahorras movimientos:

Tecla Efecto
i / a insertar antes / después del cursor
I / A insertar al inicio / final de la línea
o / O abre línea nueva debajo / encima
s / S borra el carácter / la línea y empieza a insertar

Edición básica en modo Normal

Tecla Efecto
x borra el carácter bajo el cursor
r{char} reemplaza un carácter
dd / yy corta / copia la línea entera
p / P pega después / antes
u / Ctrl-r deshacer / rehacer
. repite la última edición
💡
El punto (.) es magia

. repite tu última acción de edición completa. Borraste una palabra con dw, te mueves con w y pulsas .: borra la siguiente. Combinar movimientos + . es la forma más rápida de hacer ediciones repetitivas sin macros.

Guardar y salir (el meme, resuelto)

Todo esto en modo Normal, empezando por :

Comando Acción
:w guardar
:q salir
:wq o :x o ZZ guardar y salir
:q! o ZQ salir descartando cambios
:wa / :qa guardar / salir de todos los buffers
🛑
Si te quedas 'atrapado'

Pulsa Esc un par de veces para asegurarte de estar en Normal, y luego :q! + Enter para salir sin guardar. Nunca más quedarás preso de Vim.

⚔️ Circuito de movimientos

Abre un archivo de código cualquiera con nvim archivo y, sin usar las flechas ni el ratón:

  1. Ve a la línea 20 con 20G.
  2. Salta a la primera llave { de la línea con f{.
  3. Usa % para saltar a su llave de cierre.
  4. Baja media pantalla con Ctrl-d, busca una palabra con /, y salta entre coincidencias con n/N.
  5. Sal con :q!.

Repítelo hasta que no tengas que pensar dónde está cada tecla.