Explorando las Profundidades de Vi y Vim: Un Viaje por los 3 Modos

i y Vim, emblemas indiscutibles de la edición de texto en entornos Linux, combinan la eficiencia atemporal con una flexibilidad que empodera a los desarrolladores en la exploración creativa de su código en la terminal.


Bienvenidos al fascinante mundo de Vi y Vim, dos de los procesadores de texto más potentes y versátiles disponibles en el universo Linux. Antes de sumergirnos en sus intricados comandos, echemos un vistazo a sus orígenes, marcados por la evolución y la búsqueda de una herramienta textil más eficiente.

El Surgimiento de Vi

En los albores de los sistemas Unix, en la década de 1970, Bill Joy, un estudiante de la Universidad de California, Berkeley, creó Vi (del latín «visual»). Joy buscaba una solución que permitiera una edición de texto eficiente y rápida directamente desde la terminal. Así nació Vi, con un enfoque en la eficiencia y la simplicidad en un entorno de línea de comandos.

Vim: La Evolución Natural

A medida que Vi ganaba popularidad, se convirtió en un estándar de facto en los sistemas Unix. Sin embargo, la comunidad de usuarios deseaba más funciones y flexibilidad. En 1991, Bram Moolenaar dio vida a Vim (Vi Improved) como una respuesta a estas demandas. Vim no solo conservaba la esencia eficiente de Vi, sino que también introducía nuevas características y mejoras, convirtiéndose en una herramienta extremadamente poderosa.

Modos de Trabajo: Navegación, Inserción y Ejecución

Hoy en día, Vi y Vim son venerados por su eficiencia y versatilidad. Con tres modos de trabajo distintos – Navegación, Inserción y Ejecución – estos editores ofrecen un control preciso sobre el texto. Desde la navegación sin esfuerzo hasta la inserción creativa y la ejecución de comandos con autoridad, cada modo tiene su propósito, proporcionando a los usuarios un conjunto robusto de herramientas.

En el camino de la evolución de Vi a Vim, estos editores han resistido la prueba del tiempo y han seguido siendo la elección de muchos entusiastas de Linux y desarrolladores. Ahora, armados con un conocimiento más profundo de su historia y funcionalidades, estás listo para sumergirte en el fascinante universo de Vi y Vim. ¡Explora con confianza y desata el poder de la edición de texto en tu terminal!

Navegación: Desplazándote con Maestría

En el modo de navegación, te conviertes en el capitán de tu propio barco de texto. Utiliza las siguientes combinaciones para navegar con destreza:

  • h: Desplazamiento a la izquierda.
  • j: Desplazamiento hacia abajo.
  • k: Desplazamiento hacia arriba.
  • l: Desplazamiento a la derecha.
  • w: Desplazamiento entre palabras hacia adelante.
  • b: Desplazamiento entre palabras hacia atrás.
  • W: Desplazamiento entre espacios hacia adelante.
  • B: Desplazamiento entre espacios hacia atrás.
  • $: Desplazamiento al final de la línea.
  • 0: Desplazamiento al inicio de la línea.
  • gg: Ir a la primera línea.
  • G: Ir a la última línea.
  • [N]G: Ir a la línea N.

Operaciones avanzadas de navegación:

  • [N]dd: Cortar línea.
  • [N]yy: Copiar línea.
  • [N]dw: Cortar palabras.
  • [N]yw: Copiar palabras.
  • d$: Cortar hasta el final de la línea.
  • d0: Cortar hasta el inicio de la línea.
  • r: Reemplazar el carácter bajo el cursor.
  • R: Ingresar en el modo «Reemplazar».
  • p: Pegar a continuación.
  • P: Pegar antes.
  • u: Deshacer.

Inserción: Deja Que Fluya tu Creatividad

En el modo de inserción, el lienzo es tuyo. Libera tu creatividad con estos comandos:

  • i: Insertar texto en la posición del cursor.
  • a: Insertar texto después del cursor.
  • o: Insertar texto en una nueva línea después de la actual.
  • I: Insertar texto al inicio de la línea.
  • A: Insertar texto al final de la línea.
  • O: Insertar texto en una nueva línea antes de la actual.

Ejecución: Comandos para Gobernarlos a Todos

En el modo de ejecución, es hora de dirigir el espectáculo. Aquí tienes algunos comandos esenciales:

  • :w: Guardar.
  • :w [PATH]: Guardar como.
  • :q: Salir.
  • :q!: Salir forzadamente (sin guardar).
  • ZZ: Guardar y salir.

Configuraciones adicionales y búsquedas:

  • :set number: Mostrar números de línea.
  • :set list: Mostrar caracteres no imprimibles.
  • /[pattern]: Buscar un patrón (descendente).
  • n: Siguiente coincidencia.
  • N: Coincidencia anterior.
  • ?[pattern]: Buscar un patrón (ascendente).
  • n: Siguiente coincidencia.
  • N: Coincidencia anterior.

Sustituciones mágicas:

  • s/pattern1/pattern2/g: Buscar ‘pattern1’ y sustituir por ‘pattern2’ en la línea actual.
  • [N,M]s/pattern1/pattern2/g: Buscar ‘pattern1’ y sustituir por ‘pattern2’ entre las líneas N y M.
  • %s/pattern1/pattern2/g: Buscar ‘pattern1’ y sustituir por ‘pattern2’ en todo el fichero.

Con estos comandos, estás listo para conquistar el vasto terreno de Vi y Vim. ¡Buena suerte, explorador de texto!