Primeros comandos básicos en Vim

En el artículo anterior estuvimos viendo cómo podemos aprender y practicar Vim usando nuestro IDE favorito mediante la incorporación de algún plugin que proporcione el modo Vim. Además de eso, hicimos nuestros primeros gateos en el editor con el modo pro ya en mente, aprendiendo a mover el cursor con las teclas hjkl. Después del feedback positivo que nos ha dado Julia, vamos a seguir avanzando en el asunto. ¡Adelante!

Con lo que sabemos no vamos a llegar muy lejos; como mucho al final del documento. Así que vamos a ver algunos comandos básicos de utilidad en Vim.

Borrando caracteres en Vim

En un sistema operativo hay un sinfín de ficheros de textos. En ellos hay configuraciones. A veces solamente queremos entrar un momento y borrar algo. Vim, como cualquier editor de texto, puede por supuesto borrar, pero lo hace con la clase y la rapidez que le otorga el modo comando.

Para borrar un carácter, basta con poner el cursor sobre el mismo y pulsar

x

Esto suprime el carácter que haya debajo del cursor. Sencillo, rápido, funcional. Pero no lo celebremos todavía: tenemos otras cosas que hacer.

El no va más: insertando texto

Vamos ahora con otra de esas tareas básicas que resuelve Vim con solvencia, como cualquier otro editor de texto. En Vim se trata de una de esas cosas que no resultan tan evidentes, como cualquier que haya abierto el editor alguna vez ha podido darse cuenta. ¿Conoces esa sensación de estar usando un editor de texto y no ser capaz de escribir nada? ¿Qué tal tu tolerancia a la frustración? ¿Cuánto tiempo antes de que cierres la terminal con un cabreo? No te preocupes, eso ya pasó. Aquí me tienes para desvelarte los misterios de la inserción de texto en Vim.

Para insertar texto en Vim, pulsa la tecla

i

Eso pone a Vim en modo inserción. Sabrás que lo has conseguido porque, en la parte inferior izquierda, verás:

-- INSERT --

A partir de aquí, barra libre para escribir y meter caracteres en el fichero de texto.

Desbloqueando los misterios de Vim uno cada vez. ¡Que disfrutes de la escritura!

Cuando hayas terminado, abandona el modo inserción pulsando

<ESC>

Esta es la manera convencional de escribirlo, pero me refiero a que pulses la tecla de Escape. Verás que desaparece el INSERT en la parte inferior. Has vuelto al modo comando. Si pulsas, por ejemplo, la tecla x, se borrará el carácter bajo el cursor y seguirás en el modo comando. ¿A que te empiezas a sentir pro?

Agárrate que acabamos de empezar.

Añadiendo texto

Mencionar en este punto que Vim hace una diferencia entre las mayúsculas y las minúsculas. Si escribo x es diferente de si escribo X. Ten esto en cuenta. La mayor parte de las veces, la minúscula y la mayúscula hacen cosas relacionadas.

Por ejemplo, vamos a añadir texto al final de la línea.

Sitúa el cursor en cualquier lugar de la línea y pulsa SHIFT más la tecla a para darle a Vim:

A

Esto hace que el cursor viaje, automágicamente, al final de la línea actual, el editor entre en modo inserción y quede listo para que añadas caracteres a la línea. ¿A que te empiezas a dar cuenta de la magia de Vim? Efectivamente, de este tipo de trucos, y mucho más, estamos hablando.

Recuerda: salimos descartando con :q! y salimos guardando con :x. Guardamos y seguimos con :w.

Borrar una palabra en Vim

Vamos con el siguiente truco.

Supón que quieres borrar una palabra. En un editor convencional, tienes que ir al final de la palabra y darle al Backspace, o bien una vez, o bien manteniéndolo el tiempo necesario para que se borre la palabra completa. Puedes lograr lo mismo yendo al principio de la palabra y hacer algo similar pulsando la tecla de Suprimir.

Una tercera opción sería llevar la mano al ratón, seleccionar la palabra entera con un doble click y borrarla pulsando la tecla correspondiente. Pero… ¡llevar la mano al ratón! ¡Eso es de locos!

Vim resuelve este asunto de una manera elegante. Simplemente lleva el cursor al principio de la palabra que quieras borrar y pulsa las siguientes teclas una tras otra:

dw

dw representa el comando “delete word” (borrar palabra). Zas, de un plumazo, se borra la palabra entera. ¿Qué te parece?

Para terminar por hoy, vamos a sacar un último conejo de la chistera.

Borrar hasta el final de la línea

Algunos caracteres representan en Vim partes del texto. Por ejemplo, $ representa el final de la línea. ¿Por qué $? Tal vez porque es al final de prestar un servicio cuando recibimos dinero por el mismo. Al final es donde se encuentra $. Así, cada vez que a Vim le decimos algo relacionado con $, sabe que nos estamos refiriendo al final de la línea.

Pero ahora lo que nos interesa es borrar.

Posiciona el cursor en el lugar de la línea desde el que quieras borrar y pulsa la combinación

d$

Esto borrará la parte de la línea que va desde la posición del cursor hasta el final de la línea.

Magia.

Si antes borrábamos una palabra de un plumazo, ahora nos deshacemos de un trozo de línea con el mismo tipo de kung-fú digital. Tchack!

¿Impresionante? Acabamos de empezar.

Recapitulación y cierre

Hoy hemos aprendido algunos movimientos básicos de Vim que nos han empezado a dar razones de por qué la excentricidad de este editor de texto tiene un sentido, de cómo hay un método detrás de su locura. Hemos visto cómo esa distinción entre modos, inserción y comando, sirve a propósitos de simplicidad, elegancia, utilidad, comodidad y rapidez.

Practica el hjkl y estos primeros comandos. Con esto y el modo Vim de PyCharm, o con tu IDE favorito, ya puedes empezar a editar ficheros de código y a poner en práctica los primeros movimientos de kung-fú digital vimmero con la satisfacción correspondiente. A partir de ahí, dar cera y pulir cera. O sea, a practicar.

En el próximo artículo seguiremos profundizando en las artes mágicas de Vim.

¿Feedback?

¿Tal vez me reservo las fotos para columnas donde cuento historias?

Comentarios

4 respuestas a «Primeros comandos básicos en Vim»

  1. Avatar de Julia
    Julia

    Muuuuchas gracias, Javier!
    Con estos comandos ya tengo para ir empezando. Qué satisfacción no tener que darle a la tecla de borrar tantas veces como caracteres tiene la palabra.
    Hoy no me extiendo más, que también hay que trabajar 😉
    Un saludo de lunes.

    1. Avatar de Javier

      Un placer, Julia 🙂
      ¿Has podido entonces instalar el plugin en PyCharm o estás haciendo pruebas en un Vim al margen?
      Sí, es muy satisfactorio ahorrar esas pulsaciones, mucho más rápido y limpio.
      ¡Dales caña a esas tuplas!
      Un saludo 🙂

      1. Avatar de Julia
        Julia

        No he podido instalar el plugin aún, esta semana ando un poco hasta arriba terminando cosas antes de las vacaciones. Pero he podido practicar un poco el dw y demás cuando he tenido que editar un par de ficheros.
        Espero poder dedicarle un poco más de tiempo a partir del fin de semana.
        Hasta entonces, gracias de nuevo!

        1. Avatar de Javier

          Ok, gracias por feedback y ánimo con esas cosas por terminar antes de las vacaciones.
          Un placer 🙂

Deja una respuesta