Vis zielt darauf ab, ein moderner, veralteter, einfacher und dennoch effizienter Editor zu sein, der die Stärken von vi(m) und sam vereint.
Es erweitert die modale Bearbeitung von VI um integrierte Unterstützung für mehrere Cursor/Auswahlen und kombiniert sie mit der auf strukturellen regulären Ausdrücken basierenden Befehlssprache von Sam.
Als universeller Editor verfügt er über gute Unicode-Unterstützung und sollte mit beliebigen Dateien zurechtkommen, einschließlich großer, binärer oder einzeiliger Dateien.
Mithilfe von Parsing Expression Grammars wird eine effiziente Syntaxhervorhebung bereitgestellt, die bequem mit Lua in Form von LPeg ausgedrückt werden kann.
Der Editor-Kern ist in angemessener Menge sauberen (Ihre Laufleistung kann variieren), modernen und Legacy-freien C-Codes geschrieben, sodass er in ressourcenbeschränkten Umgebungen ausgeführt werden kann. Die Implementierung sollte leicht zu erlernen sein und zum Experimentieren anregen. Es gibt auch eine Lua-API für In-Process-Erweiterungen.
Vis strebt nach Einfachheit und konzentriert sich auf seine Kernaufgabe: effizientes Textmanagement. Die Handhabung der Zwischenablage und des Digraphen sowie ein Fuzzy-Dialog zum Öffnen von Dateien werden alle von unabhängigen Dienstprogrammen bereitgestellt. Es gibt Pläne, eine Client/Server-Architektur zu verwenden und die Fensterverwaltung an Ihr Fenstersystem oder Ihren bevorzugten Terminal-Multiplexer zu delegieren.
Die Absicht besteht nicht darin, Fehler für Fehler mit vi(m) kompatibel zu sein. Stattdessen,
Unser Ziel ist es, leistungsfähigere Bearbeitungsfunktionen basierend auf einem eleganten Design und einer sauberen Implementierung bereitzustellen.
Um vis zu erstellen, benötigen Sie einen C99-Compiler, eine POSIX.1-2008-kompatible Umgebung sowie:
Unter der Annahme, dass diese Abhängigkeiten erfüllt sind, führen Sie Folgendes aus:
$ ./configure && make && sudo make install
Standardmäßig versucht das configure
, die Unterstützung für Lua mithilfe von pkg-config(1)
automatisch zu erkennen. Eine Liste der unterstützten Optionen finden Sie unter configure --help
. Sie können die generierte Datei config.mk
auch manuell optimieren.
Oder verwenden Sie einfach eines der von der Distribution bereitgestellten Pakete.
Endbenutzerdokumentation finden Sie auf der vis(1)
-Handbuchseite und im Wiki. Lesen Sie die FAQ für häufig gestellte Fragen. Erfahren Sie mehr über einige Unterschiede im Vergleich zu sam(1)
bzw. vim(1)
.
C-API- und Lua-API-Dokumentation sind ebenfalls verfügbar.
Einige Funktionen, die nicht implementiert werden:
#ifdef
Chaos Es gibt viele Möglichkeiten, einen Beitrag zu leisten. Nachfolgend finden Sie einige Ideen:
:help
Ausgabe Schauen Sie sich die Entwicklerübersicht an, um loszulegen, und zögern Sie nicht, Fragen im IRC-Kanal #vis-editor
auf Libera zu stellen (Teilnahme über Ihren Browser).