eh, un editor de texto minimalista inspirado en vi

Fuentes: eh - Edit Here, a minimalist vi-inspired editor

eh (Edit Here) es un editor de texto de línea de comandos que reinterpreta las nociones más útiles de vi(1) con un enfoque minimalista. Está escrito en C (83,7%) con un script en sed (16,3%) para transformaciones auxiliares, y su repositorio principal se aloja en Codeberg bajo el usuario SirWumpus, con un espejo en GitHub.

Su punto de partida técnico es el método del hueco de buffer (Buffer Gap) descrito en el libro "The Craft Of Text Editing" de Craig A. Finseth, un enfoque clásico de la familia Emacs aplicado aquí a un editor con sintaxis de comandos vi. Trabaja con archivos de texto UTF-8 cargados tal cual, sin convertir a wchar_t ni a char32_t, y respeta tabulaciones cada ocho columnas.

El conjunto de comandos cubre lo esencial: movimientos del cursor (h, j, k, l, H, J, K, L, w, b, e), búsquedas con expresiones regulares extendidas, sustitución y sustitución global (/ERE/REPL y /a), marcas (m), movimientos por línea y párrafo (G, {, }), y operaciones de edición como cambio, borrado, copia, pegado, indentado y desindentado. Incluye además un modo de inserción con manejo de borrado (retroceso, CTRL+U, CTRL+W) y soporte para pegar el siguiente carácter como literal con CTRL+V. La tecla E recarga el archivo; W lo guarda; CTRL+C o Q salen. ! pasa selecciones o el contenido del buffer por un comando del intérprete, por ejemplo "!Gfmt -w68" o "!!ls -l". CTRL+X alterna entre el carácter Unicode y su representación hexadecimal.

El proyecto se distribuye con un Makefile, licencia, archivos de configuración para editor, depurador y git, y variantes del script de transformación (transform.sed, transform_ext.sed, transform_ioccc.sed), incluida una carpeta ioccc28 que sugiere su participación en el International Obfuscated C Code Contest.