12 de diciembre de 2025

En la historia del software de Unix, pocos editores han dejado una huella tan duradera como ex, el precursor directo de vi, uno de los editores de texto más emblemáticos del mundo Unix-like. Aunque hoy en día ex puede parecer austero frente a entornos más amigables, su influencia sigue presente en los sistemas modernos, especialmente entre los usuarios avanzados y administradores de sistemas que valoran la eficiencia del teclado y el control absoluto sobre el texto.

Origen en la Era de los TTY

El editor ex fue concebido en una época en que los computadores no contaban con pantallas gráficas, sino terminales tipo TTY (teletypewriters), dispositivos que imprimían el texto de entrada y salida sobre papel. En este contexto, los editores visuales como los conocemos hoy no eran viables. Las herramientas debían responder únicamente a comandos escritos y secuencias de teclas.

ex nació como una evolución del editor ed, el editor de línea clásico de Unix. Desarrollado por Bill Joy en 1976 mientras estudiaba en la Universidad de California en Berkeley, ex incorporó características mejoradas para trabajar con texto, como una mejor gestión de líneas, búsqueda y reemplazo más potente, y buffers de texto intermedios.

¿Qué es ex?

ex es un editor de líneas interactivo que permite a los usuarios manipular archivos de texto utilizando comandos específicos. Cada comando en ex se da como una instrucción que afecta líneas o bloques del archivo abierto. Por ejemplo, comandos como :1,10d borran las primeras diez líneas, mientras que :s/foo/bar/g reemplaza todas las ocurrencias de “foo” por “bar” en una línea o un rango de líneas.

Aunque a primera vista puede parecer críptico, el poder de ex radica en su precisión. Un usuario experto puede transformar, filtrar o manipular grandes volúmenes de texto de forma rápida y reproducible.

El Nacimiento de vi

Una de las decisiones más trascendentales en la historia de ex fue dotarlo de una interfaz visual. Bill Joy implementó vi como una capa superior sobre ex, permitiendo al usuario ver y editar el texto en pantalla (en terminales compatibles). Técnicamente, vi no es un programa separado, sino una interfaz visual para ex. Incluso hoy en día, cuando abres vi, puedes acceder al modo ex escribiendo : seguido de un comando.

Esto permitió que los usuarios tuvieran lo mejor de dos mundos: la potencia de edición basada en comandos y la visibilidad directa del contenido.

Características Clave de ex

  • Edición por líneas: A diferencia de los editores visuales, ex trabaja sobre líneas numeradas del archivo.
  • Modo comando: Los usuarios interactúan escribiendo comandos como :w (guardar), :q (salir), :p (mostrar), etc.
  • Buffers: Usa registros temporales de texto que permiten operaciones como cortar y pegar.
  • Scriptable: Muchos comandos ex pueden incluirse en scripts para automatizar modificaciones a múltiples archivos.
  • Portabilidad: Está presente en prácticamente todas las variantes de Unix y es parte de la norma POSIX.

Legado y Uso Actual

Aunque pocos usuarios editan directamente con ex hoy en día, su núcleo sigue vivo en vi, vim, neovim y otros editores. Algunos scripts de automatización en sistemas Unix utilizan comandos ex debido a su simplicidad y facilidad de integración en entornos sin interfaz gráfica.

En algunos contextos, como sistemas embebidos, sesiones SSH minimalistas o scripts de configuración automática, ex es todavía invaluable.

Curiosidades

  • ex está incluido por defecto en casi todas las distribuciones de Linux y BSD.
  • Puedes invocar vi con el argumento -e para entrar directamente al modo ex:
vi -e archivo.txt
  • ex fue una de las primeras herramientas en usar expresiones regulares para buscar y reemplazar texto.

Conclusión

ex es mucho más que una reliquia de los tiempos TTY: es un símbolo de la filosofía Unix. Su diseño simple, modular y orientado al teclado influenció generaciones de herramientas de edición de texto y programación. Incluso si no lo usas directamente, es probable que muchas de tus herramientas favoritas lleven su ADN. Comprender su historia es también entender parte del alma de Unix.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *