Usando VIM: Tutorial Básico.

Nunca pensé que fuese a decir esto, pero increíblemente le estoy cogiendo el gusto al mejor editor que existe para el terminal en GNU/Linux: VIM.

Citando a Wikipedia:

Vim (del inglés Vi IMproved) es una versión mejorada del editor de texto vi, presente en todos los sistemas UNIX.

Su autor, Bram Moolenaar, presentó la primera versión en 1991, fecha desde la que ha experimentado muchas mejoras. La principal característica tanto de Vim como de Vi consiste en que disponen de diferentes modos entre los que se alterna para realizar ciertas operaciones, lo que los diferencia de la mayoría de editores comunes, que tienen un sólo modo en el que se introducen los órdenes mediante combinaciones de teclas o interfaces gráficas.

Soy de los que pensaba que este era un editor para «pulpos» o personas con más de 10 dedos, pues el simple hecho de tener tantos atajos de teclado, me hacía pensar que VIM era el «monstruo» de los editores en consola. La verdad es que desde ayer estoy aprendiendo a usarlo (aún con cosas muy básicas) pero me estoy acostumbrando, y lo peor (o mejor de todo) es que me está gustando demasiado.

Siempre me he sentido cómodo con el funcionamiento de nano, pero es cierto que este editor es demasiado básico. Cuando tenemos entorno gráfico se pueden hacer uso del cursor para copiar/pegar, pero cuando estamos en un TTY la cosa cambia. Esa es la primera ventaja que le encuentro a VIM. Otras de las características que me gustan son:

  • Selección de texto en columnas.
  • Resaltado de sintáxis.
  • Resaltado de paréntisis, corchetes y llaves (por lo que se hace ideal para programar).
  • Extremadamente potente, incluso cuando se interrumpe el fichero que estamos editando, nos permite recuperarlo posteriormente.
  • Acá pueden ver muchas más…

El único editor de texto en consola (de los que conozco) que «se le acerca» a VIM es MCEdit, el editor de texto de MC. Pero nótese las comillas en la oración anterior. VIM incluso tiene un editor en GTK. Pero la idea de este post no es venderle o incitarles a que usen VIM, simplemente es una forma de decirles que es más fácil de usar de lo que realmente aparenta.

Tutorial básico de uso de VIM

Pensaba dejarle una serie de atajos de teclado, pero creo que se sería mucho más práctico si les mostrara como funciona mediante un ejemplo. Lo primero que haremos es instalar VIM si no lo hemos hecho ya, o si no viene por defecto en nuestra distribución favorita. Una vez instalado, abrimos un terminal y ponemos:

$ vim prueba.txt

Veremos algo como esto:

Ahora oprimimos la tecla I o la tecla Insert para pasar del modo comando al modo edición y comenzar a escribir. Escribimos cualquier cosa, si es posible, que tenga más de dos líneas. Yo por ejemplo puse:

Ahora bien, oprimimos la tecla ESC para salir del modo edición, nos movemos al principio del documento con las flechas del teclado y oprimimos la tecla V. Se fijarán que abajo dice ahora VISUAL. Con la flecha de abajo vamos marcando todo el texto que escribimos. Cuando lo tengamos todo seleccionado, oprimimos la tecla Y. Una vez hecho esto, verán que abajo nos indica la cantidad de líneas copiadas.

Ahora nos movemos un poco más abajo y oprimimos la tecla P. Cada vez que la oprimamos, se pegará el mismo texto. Si en vez de la tecla Y oprimimos la tecla X, el texto que seleccionamos se cortará. Lo podemos volver a pegar con la tecla P.

Ahora vamos a guardar el documento de prueba. Oprimimos ESC si estamos en modo de edición y escribimos :w, o sea, dos puntos y una W. Esto lo que hace es escribir o guardar lo que estamos haciendo. Si posteriormente escribimos :q saldremos del editor. Si lo que queremos es guardar y cerrar, escribimos .

Ahora un último truco. Supongamos que sin querer se nos cierra el terminal y perdemos el documento. Lo que tenemos que hacer es volver a escribir:

$ vim prueba.txt

y nos saldrá algo como esto:

Si se fijan al final tenemos una serie de opciones. En este caso oprimimos la tecla R para recuperar el documento anterior, luego nos pedirá que oprimamos ENTER y listo, podemos seguir donde nos quedamos. Ahora, si por casualidad le damos a la tecla E (editar de todas formas) también podemos recuperar el documento escribiendo :recover, y nos saldrá algo como esto:

En este caso mi opción es escribir el número 1 y listo, queda recuperado nuevamente nuestro trabajo.

Si quieres usar VIM de forma más fácil, entonces podrías instalar GVIM, que es lo mismo usando librerías Gtk para el uso de Menús y otras opciones que le facilitan el trabajo al usuario.

Incluso, hay una extensión para Firefox llamada Vimperator, que nos permite manejar el navegador como si de VIM se tratara 

Y hasta aquí este HowTo, cualquier sugerencia o dato es bienvenido para que todos aprendamos más cosas útiles sobre VIM.