Vis vise à être un éditeur moderne, sans héritage, simple mais efficace, combinant les atouts de vi(m) et de sam.
Il étend l'édition modale de vi avec la prise en charge intégrée de plusieurs curseurs/sélections et la combine avec le langage de commande basé sur les expressions régulières structurelles de sam.
Éditeur universel, il prend en charge Unicode de manière décente et devrait gérer des fichiers arbitraires, y compris des fichiers volumineux, binaires ou sur une seule ligne.
Une coloration syntaxique efficace est fournie à l'aide de Parsing Expression Grammars, qui peuvent être facilement exprimées à l'aide de Lua sous la forme de LPeg.
Le noyau de l'éditeur est écrit dans une quantité raisonnable de code C propre (votre kilométrage peut varier), moderne et sans héritage, lui permettant de s'exécuter dans des environnements aux ressources limitées. La mise en œuvre doit être facile à pirater et encourager l'expérimentation. Il existe également une API Lua pour les extensions en cours.
Vis s'efforce d'être simple et se concentre sur sa tâche principale : une gestion efficace des textes. La gestion du presse-papiers et des digraphes ainsi qu'une boîte de dialogue d'ouverture de fichier floue sont toutes fournies par des utilitaires indépendants. Il existe des plans pour utiliser une architecture client/serveur, déléguant la gestion des fenêtres à votre système de fenêtrage ou à votre multiplexeur de terminal préféré.
L'intention n'est pas d'être compatible bug pour bug avec vi(m). Plutôt,
notre objectif est de fournir des fonctionnalités d'édition plus puissantes basées sur un design élégant et une mise en œuvre épurée.
Afin de construire vis vous aurez besoin d'un compilateur C99, d'un environnement compatible POSIX.1-2008 ainsi que de :
En supposant que ces dépendances soient remplies, exécutez :
$ ./configure && make && sudo make install
Par défaut, le script configure
tentera de détecter automatiquement la prise en charge de Lua à l'aide de pkg-config(1)
. Voir configure --help
pour une liste des options prises en charge. Vous pouvez également modifier manuellement le fichier config.mk
généré.
Ou utilisez simplement l’un des packages fournis par la distribution.
La documentation de l'utilisateur final peut être trouvée dans la page de manuel vis(1)
et dans le wiki. Lisez la FAQ pour les questions courantes. Découvrez quelques différences par rapport à sam(1)
et vim(1)
, respectivement.
La documentation de l'API C ainsi que de l'API Lua est également disponible.
Certaines fonctionnalités qui ne seront pas implémentées :
#ifdef
Il existe de nombreuses façons de contribuer, voici quelques idées :
:help
sortie Consultez la présentation du développeur pour commencer et n'hésitez pas à poser des questions sur le canal IRC #vis-editor
sur libera (rejoignez-nous via votre navigateur).