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.
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.
- 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 :.
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
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 |
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 |
. 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 |
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.
Abre un archivo de código cualquiera con nvim archivo y, sin usar las flechas ni el ratón:
- Ve a la línea 20 con
20G. - Salta a la primera llave
{de la línea conf{. - Usa
%para saltar a su llave de cierre. - Baja media pantalla con Ctrl-d, busca una palabra con
/, y salta entre coincidencias conn/N. - Sal con
:q!.
Repítelo hasta que no tengas que pensar dónde está cada tecla.