Vim, un editor de textos basado en Linux con una amplia funcionalidad

Los editores de texto son casi tan antiguos como los ordenadores. Estos reemplazaron a las llamadas perforadoras de tarjetas en calidad de interfaces de trabajo para programas de ordenador y datos y posibilitaron, sobre todo debido a los terminales mecánicos de entonces, las modificaciones individuales de las líneas de los archivos de texto. Con el desarrollo de los terminales informáticos fueron apareciendo los primeros editores de texto orientados a las pantallas, tales como la computadora central O26 (1967) y el editor Vi para UNIX (1976), que todavía forma parte del estándar de muchas distribuciones.

Actualmente, los editores de texto siguen teniendo la función de mostrar y editar el contenido de los archivos de texto. No obstante, los programas modernos están provistos de un gran número de extensiones para facilitarles el trabajo a los usuarios. Entre ellas se encuentran las funciones de búsqueda, el completamiento automático de código o la posibilidad de destacar patrones sintácticos. Un clásico entre los editores de texto de última generación es Vim. Este editor Linux impresiona por su amplia funcionalidad y está disponible para diversas plataformas.

¿Qué es Vim?

Ya que el editor vi para UNIX no era apto para usarse en ordenadores Amiga, el informático neerlandés Bram Moolenaar desarrolló, en 1988, la primera versión del editor Vim. El editor Stevie, réplica de vi, fue la base para su obra, que al principio aún llevaba el nombre vi IMitation y fue licenciada bajo GPL (GNU General Public License). A la versión para Amiga le sucedieron, en 1992, equivalentes para UNIX y MS-DOS y fue en esta época cuando el acrónimo del editor de textos adquirió su significado actual: Vi IMproved (del inglés improved = “mejorado”). Desde entonces, el editor ha experimentado diversas mejoras, por lo que hoy en día es una de las soluciones más completas en este ámbito. Vim funciona en modo de texto en cada terminal y se opera mayoritariamente a través del teclado, mientras que las posibilidades con el ratón están estrictamente restringidas. De manera opcional, también dispone de diversas interfaces gráficas y el editor se pone en marcha mediante el archivo de configuración .vimrc.

El editor Vim dispone de varios modos. Independientemente del modo que esté activo, los caracteres introducidos serán interpretados de diferentes maneras. Esta estructura es lo que lo diferencia de otros editores Linux, una característica que plantea dificultades para usuarios sin experiencia y que posibilita a los más avanzados trabajar con mayor rapidez y eficiencia. En la siguiente tabla se muestra cómo funciona el modo básico:

ModoTraducciónDescripción
normal modeModo normal, también denominado modo comandoModo en el que se ejecuta Vim; las abreviaturas de teclado permiten copiar o desplazar líneas o formatear texto.
insert modeModo inserciónEste modo permite la edición directa de texto tal y como se realiza en los editores Linux. Hay teclas o combinaciones de teclas que tienen una función específica, como la tecla ESC para volver al modo normal.
visual modeModo visualPermite marcar y resaltar por líneas, por caracteres o por bloques, las áreas que vayan a ser editadas con comandos en el modo normal o en el modo de línea de comandos.
select modeModo selecciónEn este modo se reemplaza el fragmento de texto seleccionado por un fragmento nuevo.
command-lineModo de línea de comandosEste modo sirve para insertar los comandos ex clásicos, el comando de filtro “!” y los comandos de búsqueda “/” y “?”; una vez ejecutados los comandos correspondientes, Vim vuelve automáticamente al modo comando. 
ex-modeModo exEste modo tiene su origen en el editor de UNIX ex, aunque se diferencia de él en lo que respecta al modo de línea de comandos en el que se tienen que especificar los comandos de ex vi o visual para volver al modo normal. 

Características más importantes del editor Vim

La ventaja de Vim frente al editor de texto Linux vi reside, sobre todo, en su amplitud de funciones. Este editor de código abierto se beneficia, principalmente, de la abundancia de extensiones y posibilidades de configuración. El manejo de la herramienta es, además, más sencillo, aunque al principio no sea precisamente intuitivo debido a la complejidad del programa.

Como respuesta, Vim incluye una serie de opciones de ayuda, como por ejemplo las diversas funciones de búsqueda y un compendio de archivos con información valiosa entre los que se incluyen tutoriales de Vim y preguntas frecuentes. El resalte de la sintaxis para más de 500 idiomas y tipos de archivos hace que se puedan editar archivos de texto con rapidez y sin problemas. A esto se añaden las diversas modificaciones, como las ya mencionadas interfaces gráficas de usuario, que aumentan la usabilidad considerablemente. Merecen una mención especial las implementaciones como gVim, con opciones de menú adicionales en forma de gráfico y su extensión Cream, con la que se pueden ejecutar los comandos más importantes por medio del ratón.

A continuación te ofrecemos una lista de las principales características de Vim:

  • Corrección ortográfica: esta se activa por medio del comando set spell; los diccionarios para cada una de las lenguas pueden descargarse y ampliarse manualmente.
  • Función autocompletar: se puede utilizar en el modo insertar mediante las combinaciones de teclas [Ctrl] + [n] o [Ctrl] + [p].
  • Pestañas: se pueden abrir archivos diferentes o iguales en diferentes pestañas con ventanas de visualización distintas.
  • Función hacer/deshacer ilimitada: los cambios pueden deshacerse o restablecerse de manera ilimitada, incluso si se ha cerrado el editor Linux.  
  • Numerosos archivos en tiempo de ejecución: estos contienen diferentes reglas para la señalización de la sintaxis y el sangrado, para la paleta de colores, para las extensiones estándar, etc.
  • Lenguaje de scripts propio: Vim puede ampliarse fácilmente con el lenguaje de scripts Vimscript.
  • Macros: para ejecutar scripts o cadenas de comandos de manera sencilla se pueden ejecutar o grabar macros.
  • Cifrado: los archivos de Vim pueden cifrarse mediante el algoritmo Blowfish.
  • Plegado: los grupos de textos o los fragmentos de sintaxis pueden plegarse (en inglés fold = “plegar”) para aumentar la visibilidad.

¿Cómo se puede instalar Vim?

Como ya se ha mencionado, Vim es válido para usarse en todo tipo de plataformas. En la página oficial del editor se puede acceder a los archivos de descarga para todo tipo de sistemas Linux, UNIX, Windows, Amiga o Mac OS y para diferentes versiones, así como a consejos para su instalación.

Si quieres instalar el editor Vim en un ordenador Windows, puedes recurrir a dos posibilidades:

  1. Descarga el archivo de instalación propia .exe desde el directorio para PC e inicia la instalación haciendo doble clic en él.
  2. Escoge una de las tres interfaces que aparecen en el mismo directorio – gvim74.zip, gvim74ole.zip o gvim73_46_s.zip – y descárgala. Adicionalmente, necesitas el archivo en tiempo de ejecución vim74rt.zip, que también forma parte del directorio. Una vez hayas descargado ambos archivos .zip, descomprímelos en un mismo directorio del ordenador.  

El archivo de instalación para las distribuciones de Linux suele estar incluido en la mayoría de administradores de paquetes. Por lo tanto, puedes instalar Vim fácilmente según el patrón habitual a través del comando:

sudo apt-get install vim

También puedes descargar los archivos fuente, por ejemplo en el directorio GitHub del editor de textos, para estar seguro de que se instala la última versión o si estás planeando realizar cambios en el código fuente.

¿En qué se diferencia Vim de otros editores?

Las principales características que diferencian a Vim de otros editores son sus diferentes modos, el papel decisivo de los métodos abreviados de teclado y sus funciones prácticamente ilimitadas. Sin embargo, aunque estas representan diversas ventajas, la situación cambia en lo que respecta a la facilidad de uso. Aunque la usabilidad no es uno de los puntos fuertes del editor Linux, esta constituye un aspecto muy valioso para los programadores profesionales. Sin embargo, el verdadero reto está en aprender cómo funciona. Hay editores de texto para Windows y Linux que tienen características similares, como es el caso de Emacs, Nano, Sublime Text o Textadept, que, al no ser modulares, son más intuitivos para los usuarios menos experimentados.

Comenzar a usar Vim no es tan difícil ya que se cuenta con una gran comunidad de apoyo desarrollada en el trascurso de las últimas décadas en torno a esta herramienta de código abierto. Gracias ella, no solo aumenta el número de útiles extensiones, las cuales pueden encontrarse, por ejemplo, en WimAwesome, sino que también existen diversos manuales online, foros, wikis y tutoriales que arrojan luz a las dudas y los problemas que surgen y que son gestionados o elaborados por los integrantes de dicha comunidad. Un valioso y original ejemplo es el juego educativo online Vim Adventures, con el que aprenderás cómo funciona el editor de textos de manera lúdica.