VIM: Qué es, historia, modos, ventajas, uso avanzado y todo lo que necesitas saber

  • VIM es un editor de texto avanzado, libre y multiplataforma, nacido para mejorar Vi
  • Su edición modal y personalización lo convierten en una herramienta única para programadores
  • Ofrece funcionalidades avanzadas como macros, scripting, plugins y edición eficiente
  • Tiene documentación excelente y una comunidad activa que facilita su aprendizaje

Qué es VIM

Seguro que más de una vez has escuchado hablar de VIM, ese misterioso editor de texto que despierta pasiones y temores por igual en el mundo de la informática. Puede que te hayas topado con él casi por accidente, por necesidad al editar archivos en servidores remotos o simplemente por curiosidad, preguntándote si realmente merece la fama que tiene entre programadores veteranos y administradores de sistemas.

La realidad es que VIM no es sólo un editor de texto, es prácticamente una filosofía de cómo trabajar con archivos y manejar el código a toda velocidad y con precisión casi quirúrgica. Detrás de su apariencia espartana se esconde una herramienta que, dominada, multiplica la productividad y la eficiencia de quien la utiliza, aunque para llegar a ese punto requiere superar una curva de aprendizaje que, para muchos, resulta intimidante. Pero, ¿qué lo hace tan especial? ¿Cómo se ha ganado tal reputación? Vamos a desmenuzarlo a fondo.

VIM: Origen, evolución y filosofía

VIM, cuyo nombre proviene de Vi IMproved (Vi Mejorado), es un editor de texto que vio la luz en 1991, creado por Bram Moolenaar. Su propósito inicial era cubrir las carencias del legendario Vi, el editor estándar de los sistemas Unix creado en 1976 por Bill Joy, cuya interfaz, aunque compacta y eficiente, resultaba limitada en funcionalidades para los estándares crecientes de la comunidad de programación.

El propio desarrollo de VIM parte de un interesante juego de herencias y mejoras. Cuando Moolenaar adquirió un Commodore Amiga, descubrió que no existía un clon de Vi funcional para su nuevo sistema. Descubrió entonces un pequeño editor, STEVIE, diseñado como imitación de Vi pero con múltiples carencias. Moolenaar tomó su código y empezó a pulir sus bugs y a añadir los comandos que faltaban, logrando así lo que inicialmente llamó Vi IMitation para Amiga.

El salto cualitativo llegó pronto. A partir de 1991, la versión 1.14 de VIM se distribuyó en colecciones de software libre del Amiga, y poco después alcanzó la multiplataforma, funcionando tanto en UNIX como en MS-DOS. Aquí es donde su nombre cambió oficialmente a Vi IMproved, reflejando su naturaleza de evolución y ampliación del Vi original.

Licencia y comunidad

Uno de los grandes puntos fuertes de VIM es su naturaleza libre y su potente comunidad. VIM se distribuye bajo la Vim License, compatible con la Licencia Pública General de GNU (GPL), lo que garantiza su libre uso, modificación y distribución. Además, Moolenaar impulsó el concepto de charityware: anima a quienes usan y aprecian VIM a realizar donaciones a proyectos benéficos, especialmente a la organización ICCF Holland, que ayuda a niños huérfanos en Uganda.

El desarrollo colaborativo ha sido esencial en la vida de VIM. Decenas de desarrolladores han participado aportando parches, portando la aplicación a nuevos sistemas operativos, escribiendo documentación y ayudando a los nuevos usuarios. Esto ha forjado una comunidad activa, con listas de correo, foros y un ecosistema de plugins y recursos que no deja de crecer.

Compatibilidad, portabilidad y versiones destacadas

VIM es un ejemplo de software multiplataforma completo. Puede ejecutarse en prácticamente todos los sistemas operativos relevantes, desde AmigaOS, Atari MiNT, BeOS, DOS, GNU/Linux, MacOS, NextStep, OS/2, OSF, RISC OS, IRIX, BSD, AIX, HP-UX, VMS hasta Windows en todas sus variantes. Su tamaño reducido y escasas dependencias lo hacen ideal incluso en entornos con recursos limitados o servidores donde las interfaces gráficas no están disponibles.

El desarrollo de VIM ha sido constante y ha aportado mejoras revolucionarias en cada versión:

  • Vim 1.0 (1988): Primer clon funcional de Vi para Amiga.
  • Vim 1.14 (1991): Versión pública inicial, distribuida en Fred Fish, colección de software libre para Amiga.
  • Vim 1.22 (1992): Debuta el soporte multiplataforma (UNIX y MS-DOS) y adopta oficialmente el nombre Vi IMproved.
  • Vim 3.0 (1994): Ventanas múltiples.
  • Vim 4.0 (1996): Interfaz gráfica de usuario (GUI).
  • Vim 5.0 (1998): Primer soporte de resaltado de sintaxis.
  • Vim 6.0 (2001): Plegado de texto y soporte multilingüe.
  • Vim 7.0 (2006): Corrector ortográfico y funcionalidad de pestañas.
  • Vim 8.0 (2016): Comunicación entre procesos y temporizador asíncrono.
  • Vim 9.0 (2022): Introducción del lenguaje Vim9 Script y autocompletado avanzado.

Diferencias clave entre VIM y otros editores

Si algo distingue a VIM del resto, es su filosofía de edición modal. A diferencia de la mayoría de editores, donde las teclas insertan texto por defecto y las funciones especiales se activan con combinaciones, en VIM existen diferentes modos de trabajo, cada uno con su propósito y sus propios atajos:

  • Modo normal: Aquí comienzas siempre. Permite navegar, copiar, pegar, borrar o modificar texto con atajos de teclado. Es la base desde la que se accede al resto de modos.
  • Modo de inserción: Pulsando i (entre otras teclas), puedes escribir texto como en cualquier editor. Se regresa al modo normal con Esc.
  • Modo visual: Actívalo con v. Permite seleccionar y manipular bloques de texto visualmente, facilitando tareas habituales de copiar, cortar y pegar.
  • Modo de línea de comandos: Al pulsar : entras en este modo. Aquí puedes guardar archivos, cerrar VIM, buscar y reemplazar, cambiar configuraciones y ejecutar macros o scripts.
  • Modo selección: Similar al modo visual, pero pensado para compatibilidad con otros sistemas y potenciado por las últimas versiones.
  • Modo ex: Permite usar comandos heredados del editor ex de UNIX, útil para acciones complejas sobre grandes volúmenes de texto.

Esta diferenciación de modos puede parecer confusa al principio, pero es la clave para la productividad extrema que ofrece VIM. Permite separar claramente la edición de texto de la navegación o manipulación, minimizando pulsaciones y mejorando la eficiencia. La mayoría de acciones requieren apenas un par de teclas, y con práctica, la velocidad y control son incomparables.

¿Por qué tantos programadores adoran (y temen) VIM?

VIM se ha ganado el aprecio de comunidades enteras de desarrolladores y administradores de sistemas por su potencia bruta y versatilidad. Algunas de sus funcionalidades sobresalientes y motivos de preferencia incluyen:

  • Corrector ortográfico integrado y auto-completador de palabras, muy útil para texto y código.
  • Resaltado de sintaxis para más de 200 lenguajes y formatos, desde HTML hasta Python, pasando por configuraciones y scripts.
  • Navegación por pestañas y ventanas múltiples, permitiendo editar diferentes archivos o secciones a la vez, tanto en modo texto como en la versión gráfica (gVim).
  • Historial global de comandos y búsqueda eficiente para repetir operaciones complejas.
  • Macros extremadamente potentes para automatizar secuencias y tareas repetitivas, además de la grabación y reproducción fácil de secuencias de acciones.
  • Plegado de código, edición basada en bloques, compresión y descompresión integrada, autoguardado de configuración y compatibilidad casi total con Vi, pero sin sus limitaciones.
  • Edición de archivos comprimidos y reconocimiento automático de formatos, algo poco habitual en editores convencionales.
  • Flexibilidad y personalización infinita gracias a la configuración mediante el archivo .vimrc y un sistema de plugins basado en Vimscript o lenguajes populares como Python, Perl, Lua, Ruby o Tcl.

Ahora bien, esa potencia trae consigo la necesidad de aprender docenas de atajos, comandos y combinaciones. Es famosa la anécdota de miles de programadores que han recurrido a foros y buscadores para averiguar cómo salir de VIM tras abrirlo por accidente (…sí, no eres el primero ni el último en teclear :q tras sudar la gota gorda). Esto se debe precisamente a su edición modal y a que abandona el uso del ratón y menús tradicionales salvo en sus versiones gráficas.

Sin embargo, el esfuerzo de aprendizaje se ve recompensado con creces a largo plazo. Los usuarios experimentados describen la experiencia VIM como fluida, intuitiva y extremadamente rápida una vez interiorizadas las combinaciones y procesos. Editar, buscar, reemplazar, comparar archivos, compilar y depurar se vuelve tan eficiente que es difícil regresar a otros editores que obligan a alternar constantemente entre teclado y ratón.

Instalación y primeros pasos: cómo poner VIM en marcha

Otra gran baza de VIM es que es tremendamente fácil de instalar y, de hecho, ya suele venir incluido en la mayoría de distribuciones Linux y UNIX. Si no lo tienes, instalarlo en cualquier sistema es sencillo:

  • En sistemas basados en Debian o Ubuntu: sudo apt install vim
  • En Fedora o RedHat: sudo dnf install vim
  • En MacOS: brew install vim (usando Homebrew)
  • En Windows: Descarga el ejecutable de la web oficial y sigue el proceso del asistente

Para comprobar que está correctamente instalado, ejecuta en la terminal which vim o vim --version.

Para arrancar VIM, simplemente escribe: vim nombre_del_archivo.txt. Si el archivo no existe, VIM lo creará por ti. Al iniciar, te encontrarás con una ventana de bienvenida y, desde ahí, puedes comenzar a editar.

Dominando los modos: cómo editar y manipular texto con VIM

Lo primero que tienes que interiorizar para usar VIM es la importancia de los modos. No puedes simplemente empezar a escribir: al arrancar, te encuentras en modo normal. Para insertar texto, pulsa i para pasar al modo de inserción. Allí ya escribes como en cualquier editor.

¿Quieres volver a navegar, copiar, cortar, borrar, o ejecutar comandos? Pulsa Esc para volver al modo normal. Desde ahí, puedes usar todos los atajos:

  • Copiar: Selecciona con v (modo visual) y pulsa y para «yankear» (copiar) el texto seleccionado.
  • Cortar: Igual que copiar, pero pulsa d tras seleccionar.
  • Pegar: Usa p (después del cursor) o P (antes del cursor).

Guardar y salir de VIM también es motivo de frustración para los primerizos, pero es muy sencillo:

  • :w para guardar.
  • :q para salir.
  • :wq para guardar y salir de una tacada.
  • :q! para salir sin guardar los cambios.

Para editar varios archivos, navega entre ellos usando pestañas (:tabnew archivo) o divisiones de ventana (:split archivo).

Funciones avanzadas: búsqueda, reemplazo, macros y más

Uno de los puntos más potentes de VIM son sus posibilidades de búsqueda y reemplazo. Puedes buscar con / hacia adelante y ? hacia atrás. Para encontrar y reemplazar texto masivamente, emplea el comando:

  • :%s/patron/reemplazo/g — Reemplaza todas las apariciones en el archivo.

Puedes especificar rangos de líneas usando números o comodines (‘%’) y añadir opciones como c para confirmar cada reemplazo, i para búsquedas sin distinguir mayúsculas/minúsculas, y más.

Deshacer y rehacer también es sencillo: pulsa u para deshacer, Ctrl+R para rehacer. Puedes anteponer un número si quieres deshacer varias acciones de una vez.

Macros y automatización: grabar macros es de lo más práctico para automatizar tareas repetitivas. Pulsa q seguido de una letra para grabar, repite las acciones y pulsa de nuevo q para parar. Luego ejecuta la macro con @letra.

Personalización total: configuración y plugins

VIM es tan personalizable como te imagines. Toda la configuración puede guardarse en el archivo .vimrc en tu directorio personal. Ahí puedes definir atajos, cambiar colores, activar o desactivar opciones, y cargar plugins.

Los plugins (o extensiones) permiten desde integración con sistemas de control de versiones como Git hasta añadir soporte específico para lenguajes, autocompletado, corrector gramatical, depuración y mucho más. Se pueden instalar manualmente, descargando los archivos y colocándolos en el directorio adecuado, o usando gestores de plugins como:

Los plugins suelen estar escritos en Vimscript (también conocido como VimL), aunque muchos también admiten otros lenguajes como Python, Perl, Lua, Ruby o Tcl, abriendo un abanico inmenso de posibilidades para adaptar VIM a tus necesidades concretas.

Documentación y soporte para todos los niveles

Una característica diferencial de VIM es su documentación interna, considerada excepcionalmente completa. Para cualquier función, comando o duda, basta con escribir :help comando para acceder a una explicación detallada y ejemplos de uso.

La ayuda es navegable, enlazando conceptos y permitiendo búsquedas rápidas (con :helpgrep). Además, existe documentación en línea, wikis, tutoriales, libros y una comunidad muy activa, dispuesta a resolver dudas tanto de principantes como de expertos.

En la web oficial de VIM, puedes encontrar manuales, recursos gráficos, enlaces a FAQs y guías rápidas.

gVim: la versión gráfica de VIM

Para quienes prefieren algo más visual, existe gVim, la versión gráfica de VIM. Ofrece menús, barras de herramientas y permite el uso del ratón para la edición de texto. Es especialmente útil para quienes están comenzando y se sienten intimidados por la edición estrictamente con teclado en la terminal.

Eso sí, algunas funciones pueden variar y no siempre está instalado por defecto. gVim es ideal en sistemas de escritorio, mientras que en entornos de servidor la versión en terminal sigue siendo la reina absoluta.

Críticas y virtudes de VIM

Como es habitual con las herramientas potentes, VIM no se libra de críticas. Sus detractores señalan la curva de aprendizaje, la interfaz “anticuada”, la falta de uso del ratón y la necesidad de memorizar atajos. Sin embargo, quienes lo dominan defienden que, una vez superado ese barrier, la capacidad de edición es insuperable.

La separación de modos y la necesidad de aprender comandos es lo que produce frustración inicial, pero también lo que permite ediciones ultrarrápidas y complejas con apenas unas teclas.

Además, las versiones modernas han añadido capacidad para usar el ratón y menús, y siempre hay recursos y tutoriales para facilitar el aprendizaje.

VIM ha recibido reconocimientos en la comunidad Open Source, como los Readers’ Choice Awards de Linux Journal y premios de plataformas como Slashdot y LinuxWorld.

Casos de uso destacados y proyectos relacionados

VIM es la herramienta predilecta, especialmente, de programadores, administradores de sistemas, operadores de servidores y entusiastas de la eficiencia. Se utiliza para editar código fuente en toda clase de lenguajes (C, Python, Ruby, JavaScript…), editar archivos de configuración, escribir scripts y administrar sistemas.

La edición modal y el scripting permiten utilizar VIM como un mini-IDE, lanzando compiladores externos, revisando errores y corrigiendo sobre la marcha. Algunos usuarios lo emplean incluso para escribir libros, artículos técnicos y documentación gracias a su flexibilidad y corrector ortográfico integrado.

Además, existen proyectos que aportan funcionalidades inspiradas en VIM:

  • qutebrowser: Navegador web controlado sólo con teclado, al estilo de VIM.
  • VNote: Aplicación para tomar notas basada en atajos tipo VIM.
  • Kate y Geany: Editores gráficos que incluyen modos VIM.
  • vimium: Extensión para navegadores como Chrome o Firefox que permite navegar con atajos similares a VIM.
  • ranger: Gestor de archivos en terminal con controles VIM.
  • vit: Interfaz para TaskWarrior orientada a teclado.

Mejoras añadidas respecto a Vi

¿Por qué elegir VIM antes que el Vi clásico? VIM introduce mejoras notables:

  • Deshacer múltiple (multinivel): Permite deshacer y rehacer acciones ilimitadamente, frente al único nivel de Vi.
  • Ventanas y pestañas: Edición simultánea de múltiples archivos o secciones.
  • Grabación de macros: Automatiza secuencias de comandos.
  • Modo visual: Selección de texto rápida y precisa.
  • Soporte de flechas en modo inserción: Facilita el movimiento para nuevos usuarios.
  • Sistema de ayuda robusto e integrado.
  • Expansión de comandos y desplazamiento avanzado.

VIM en Windows: todo lo que necesitas saber

Aunque VIM surgió en sistemas UNIX, funciona perfectamente en Windows. Puedes descargar el instalador desde la y seguir los pasos para tenerlo operativo en pocos minutos.

VIM para Windows conserva todas las funciones de sus versiones UNIX, incluyendo edición modal, personalización, soporte para plugins, macros, scripting y más. Resulta ligero, portátil y apto para su uso incluso en máquinas poco potentes.

Al instalar VIM en Windows, tienes acceso a la consola (cmd o PowerShell) y puedes abrir archivos con comandos sencillos o crear accesos directos.

Comparar y combinar archivos en VIM

VIM permite comparar visualmente dos o más archivos con sus herramientas de comparación integradas. Abre los archivos en ventanas contiguas y podrás ver resaltadas las diferencias en colores. Además, puedes moverte entre diferencias, copiar cambios de un lado a otro y resolver conflictos en archivos de código o configuración.

Estas funciones lo convierten en una alternativa muy potente a herramientas externas de comparación, directamente desde el entorno de edición.

Vimscript y scripting avanzado

VIM incluye un lenguaje de scripting, Vimscript, que permite personalizar todavía más el entorno, automatizar tareas, crear funciones personalizadas y desarrollar plugins complejos. Los scripts se guardan como archivos de texto plano, generalmente con la extensión .vim o .vimrc para la configuración principal.

La potencia del scripting permite incorporar lógica avanzada, integración con otros lenguajes (Perl, Python, Lua, Ruby, Tcl, Racket) y conexión con utilidades externas, elevando la flexibilidad de VIM a niveles de entorno de desarrollo completo.

Curiosidades y cultura VIM

VIM tiene también su lado peculiar y humorístico. Incluye huevos de pascua, como el comando :help 42 que homenajea a Douglas Adams y su «Guía del autoestopista galáctico» mostrando un mensaje filosófico sobre la vida, el universo y todo lo demás. Este tipo de detalles suman a su comunidad un aire de complicidad y cultura propia.

La anécdota recurrente sobre cómo salir de VIM ha alcanzado categoría de meme en la comunidad. Miles de programadores han buscado en internet la respuesta a cómo cerrar el editor y volver a la terminal tras abrirlo por accidente. La solución, sencilla para quien la conoce (pulsar Esc seguido de :q o :wq), es ya parte de la cultura pop del software.

Krita: Guía definitiva para entender qué es, cómo funciona y por qué es la mejor opción para ilustradores digitales

Deja un comentario