Vis pretende ser un editor moderno, libre de legados, simple pero eficiente, que combine las fortalezas de vi(m) y sam.
Amplía la edición modal de vi con soporte integrado para múltiples cursores/selecciones y lo combina con el lenguaje de comandos estructural basado en expresiones regulares de Sam.
Es un editor universal, tiene un soporte Unicode decente y debería manejar archivos arbitrarios, incluidos archivos grandes, binarios o de una sola línea.
Se proporciona un resaltado de sintaxis eficiente mediante Parsing Expression Grammars, que se puede expresar convenientemente usando Lua en forma de LPeg.
El núcleo del editor está escrito en una cantidad razonable de código C limpio (su kilometraje puede variar), moderno y libre de legados, lo que le permite ejecutarse en entornos con recursos limitados. La implementación debe ser fácil de modificar y fomentar la experimentación. También hay una API Lua para extensiones en proceso.
Vis se esfuerza por ser simple y se centra en su tarea principal: la gestión eficiente de textos. El manejo del portapapeles y los dígrafos, así como un cuadro de diálogo difuso para abrir archivos, son proporcionados por utilidades independientes. Existen planes para utilizar una arquitectura cliente/servidor, delegando la gestión de ventanas a su sistema de ventanas o multiplexor de terminal favorito.
La intención no es ser compatible error por error con vi(m). En cambio,
Nuestro objetivo es proporcionar funciones de edición más potentes basadas en un diseño elegante y una implementación limpia.
Para construir vis necesitarás un compilador C99, un entorno compatible con POSIX.1-2008 y también:
Suponiendo que se cumplan estas dependencias, ejecute:
$ ./configure && make && sudo make install
De forma predeterminada, el script configure
intentará detectar automáticamente la compatibilidad con Lua utilizando pkg-config(1)
. Consulte configure --help
para obtener una lista de opciones admitidas. También puede modificar manualmente el archivo config.mk
generado.
O simplemente utilice uno de los paquetes proporcionados por la distribución.
La documentación del usuario final se puede encontrar en la página del manual de vis(1)
y en la Wiki. Lea las preguntas frecuentes para preguntas comunes. Conozca algunas diferencias en comparación con sam(1)
y vim(1)
, respectivamente.
También está disponible la documentación de C API y Lua API.
Algunas características que no se implementarán:
#ifdef
mess Hay muchas maneras de contribuir, a continuación se presentan algunas ideas:
:help
Consulte la descripción general del desarrollador para comenzar y no dude en hacer preguntas en el canal IRC #vis-editor
en libera (únase a través de su navegador).