El famoso editor Vim es una versión mejorada del clásico editor de texto vi. Este editor de texto tiene una funcionalidad original que no deja indiferente a nadie y aunque su curva de aprendizaje inicial es pronunciada, la potencia que te ofrece como editor e incluso como entorno de programación es muy grande.
Para inciarlo basta con que tecleemos el comando vim
en una consola de texto de Hipatia y se nos abrirá una pantalla de bienvenida. Vim trabaja en varios modos: modo comando, modo inserción, modo visual… Se dice pues que es un editor modal (con varios modos de trabajo). En todo momento sabremos en cuál de los modos estamos gracias a la información que aparece en la barra de estado del editor (la última línea de la pantalla).
Los 2 principales modos de trabajo son modo comando y modo inserción. Para selección de texto con los cursores, también disponemos del modo visual.
En modo comando (el modo en que está Vim tras ejecutarlo) las teclas que pulsamos, en lugar de aparecer escritas en el documento, son interpretadas por Vim como comandos y nos permiten realizar acciones como grabar, salir, copiar, pegar, etc. Por ejemplo, pulsando ZZ en modo comando, no vamos a escribir dos zetas mayúsculas en el documento, sino que vamos a salir de vim grabando el fichero que estamos editando.
El modo inserción sí que nos permite introducir caracteres en el fichero, en la posición actual del cursor, al estilo de los editores básicos a los que estamos acostumbrados. Estando en modo inserción, si pulsamos ZZ
(2 z mayúsculas), se insertarán dos zetas mayúsculas en la posición actual del cursor, tal y como cabría esperar en un editor normal. Cuando estamos en modo inserción aparece la cadena –INSERTAR– en la barra de estado del editor (la última línea de pantalla).
Para pasar al modo inserción desde el modo comando se utiliza la tecla/comando i, y para volver al modo comando se utiliza la tecla ESC.
Un primer contacto con Vim puede ser tan simple como editar un fichero ejecutando en nuestra consola vim fichero
, pasar a modo inserción pulsando i
, moverse por el documento, cambiar e introducir texto, volver a modo comando (pulsando ESC
), y salir del editor grabando los cambios en el fichero pulsando ZZ
o con :x!
. Como toma de contacto inicial es suficiente y puede servir para perder el miedo al hecho de que Vim tenga 2 modos principales de funcionamiento (comando e inserción).
La regla general de Vim es moverse y trabajar siempre en modo comando y sólo pasar a modo inserción para introducir, borrar o modificar texto de nuestro documento (volviendo a modo comando al acabar el cambio), ya que el modo comando es el lugar donde podremos usar todas las opciones que en otros editores no se pueden realizar.
Veamos los diferentes comandos básicos de movimiento, inserción y borrado (siempre en modo comando):
- h Mover el cursor a la izquierda.
- j Mover el cursor hacia abajo.
- k Mover el cursor hacia arriba.
- l Mover el cursor hacia la derecha.
- i Insertar texto en la posición actual del cursor (Insert), pasando a Modo Inserción. Se permanece en modo inserción hasta que se sale explícitamente de él.
- ESC Salir del modo inserción y volver a modo comando. En modo comando, permite cancelar muchos de los comandos que se están ejecutando.
- x Borrar el caracter bajo el cursor (equivale a la tecla Del/Supr).
- X Borrar el caracter a la izquierda del cursor (equivale a la tecla Borrar/Backspace).
- J Juntar la línea actual con la siguiente (Join), eliminando el retorno de carro entre ellas.
- u Deshacer la última acción (Undo). Si lo pulsamos más veces desharemos acciones anteriores.
- CTRL+R Rehacer la última acción (Redo). Si lo pulsamos más veces reharemos acciones posteriores deshechas.
- a Insertar texto en la siguiente posición tras el cursor (Append). Es similar a i, salvo que el texto no se inserta en la posición actual del cursor sino a su derecha.
- A Poner el cursor al final de la línea y pasar a modo inserción (añadir texto al final).
- o Crear una línea vacía, en blanco, bajo la línea actual, y pasar a modo inserción con el cursor posicionado en dicha línea. Es mucho más cómodo que (como en otros editores) tener que pulsar FIN y ENTER para crear una línea en blanco.
- O Crear una línea vacía, en blanco, sobre la línea actual. Sería el equivalente en otros editores a ARRIBA, ARRIBA, FIN, ENTER.
- dd Borrar la línea actual (sobre la que está el cursor).
- D Borrar desde la posición actual del cursor hasta el final de la línea.
Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 4.0 Internacional.