Saltar al contenido principal

Movimientos básicos en Vim con el modo normal

En esta guía te voy a explicar lo que yo considero como comandos básicos de Vim. Recuerda pulsar la tecla Escape para entrar en modo comandos.

Movimientos básicos

Las primeras teclas con las que tienes que familiarizar son las teclas h j k l

Básicamente en modo normal estas teclas se comportan como las flechas del teclado. Esto es así porque Vim se creó en la época en la que los teclados no tenían las flechas de dirección.

Vim por defecto debería funcionar con las teclas de dirección, pero es muy recomendable familiarizarse con estas teclas más que nada porque están más cerca de las otras teclas. Los puristas de Vim consideran mala práctica usar las teclas y recomiendan desactivarlas.

Las teclas h j k l están posicionadas de esta manera: ←↓↑→, es decir, una regla memotécnica para recordarlas es: las de los extremos son las flechas hacia los lados (h y l), la j que tiene forma de flecha es la flecha hacia abajo y la que sobra, la k, es hacia arriba.

Movimientos entre palabras

Pero claro, moverte en una línea pulsando todo el rato la tecla h y la l no es muy conveniente, se tarda demasiado. Pues aquí viene otro par de teclas que se usan mucho en Vim:

w: Te mueves una palabra hacia la derecha. b: Te mueves una palabra hacia la izquierda.

Básicamente, estas dos teclas funcionan igual que cuando en otros editores pulsas Control + flecha de dirección. Estas dos teclas debe ser de las que más uso en Vim.

Una regla memotécnica para memorizarlas es pensar que la w viene de "word" (palabra) y la b de "back" (hacia atrás).

No te preocupes si ya te estás agobiando con los comandos, es normal. Al principio te vas a sentir muy lento porque tienes que pensar qué comando quieres ejecutar y tal, pero a la que los utilices durante un tiempo verás que al final los usas de manera natural sin pensarlo.

Deshacer y rehacer cambios

Y aquí otro par de comandos que son indispensables:

u: Como el Control + Z de toda la vida. Permite deshacer el último cambio realizado. Control + r: Lo contrario al anterior, si has hecho desecho cambios puedes volver a dejarlo como estaba.

La regla memotécnica para estos dos es que u viene de "undo" (deshacer) y Control + r pues de "redo" (rehacer). Sobre por qué el rehacer se hace con el Control pues ni idea, yo lo he memorizado y ya.

Combinación de teclas con números

Y aquí viene un poco la magia de Vim, y es que los comandos se pueden combinar con números. Como he explicado antes, puedes pulsar w para moverte una palabra hacia adelante, pero es que si pulsas por ejemplo 5w te mueves 5 palabras hacia adelante.

De igual forma con las teclas h j k l, por ejemplo:

10j: Te mueves 10 líneas hacia abajo. 5k: Te mueves 5 líneas hacia arriba. 3l: Te mueves 3 caracteres hacia la derecha.

Comando borrar y cambiar

Existen un par de comandos más que son muy útiles, uno es el de borrar, que es con la tecla d (d de "delete"). Este comando si lo pulsas verás que no hace nada y eso es porque antes tienes que pulsar lo que quieres borrar, ejemplos:

dw: Borra una palabra hacia la derecha. wj: Borra una línea hacia abajo.

Incluso puedes combinar lo anterior con los números:

d3w: Borra 3 palabras hacia la derecha. d5k: Borra 5 líneas hacia arriba.

Un detalle importante de este comando es que una vez realizado te mantiene en modo normal (en modo comandos).

Como es muy habitual borrar una palabra por ejemplo para cambiarla por otra, en lugar de tener que pulsar dw para borrarla y luego i para entrar en modo inserción para poder escribir la nueva palabra, existe un comando con la letra c.

El comando de la c (c de "change") funciona exáctamente igual que el comando d que hemos visto antes solo que al terminar de ejecutarse te cambia a modo inserción sin que tengas que pulsar la tecla i.

Esto parece una tontería, total se puede hacer lo mismo que con el comando d, pero es recomendable aprenderlo y usarlo porque ese ahorro de una tecla se agradece mucho si tienes que cambiar varias palabras o frases del fichero.

Yo aplico los comandos de forma natural sin pararme a pensar, simplemente d para borrar cosas y c para cuando quiero borrar y cambiar por otro texto.

Conclusiones

Y por el momento estos son un poco los comandos más básicos. No te agobies, intenta practicarlos y ya verás como en poco tiempo los dominas. Pásate por el artículo de Modo normal de Vim si quieres aprender más motions y comandos en Vim.