Nvi
# Nvi

nvi (new vi, en français « nouveau vi ») est un éditeur de texte reprenant les fonctionnalités du logiciel ex/vi de Berkeley, traditionnellement distribué dans les systèmes BSD, puis plus tard dans les systèmes Unix. À l'origine, il était distribué dans la quatrième distribution BSD (4BSD).

## Origine

En raison d'un désaccord sur des licences entre AT&T et le Computer Sciences Research Group de l'université de Berkeley, ce dernier s'est retrouvé dans l'obligation de remplacer des portions de code source provenant de la BSD par du code nouveau et non soumis à des contraintes. nvi est l'un des nombreux composants qui ont subi une ré-écriture, malgré le fait que le vi original provenait de l'université de Berkeley. AT&T disposait d'une concession légale en plus de la licence. nvi finit par devenir une amélioration notable par rapport au vi classique (voir ci-dessous).

## Fonctionnalités

Habituellement désigné comme un « clone de vi », nvi contient plusieurs fonctionnalités absentes du programme original. En particulier :

* Travaille correctement avec des données sur 8 bits
* La taille des lignes et des fichiers n'est limitée que par la mémoire disponible
* Édition de plusieurs tampons (c'est-à-dire plusieurs fichiers en mémoire)
* Édition de la ligne de commande Vi (:) et complètement des noms de fichier
* Gestion de piles de marqueurs
* Support de Cscope
* Expressions rationnelles étendues
* Nombre d'annulations illimité
* Défilement horizontal
* Support primaire des langages de script Perl et Tcl/Tk

En dépit de ces différentes améliorations, il ressemble très fortement au vi classique en matière d'ergonomie et d'apparence. Il est de taille très modeste, rapide et s'intègre très naturellement dans l'environnement Unix.

## Auteurs et distribution

nvi a été écrit par Keith Bostic, et semble pour le moment gelé dans sa version 1.79. C'est le vi par défaut sur tous les systèmes BSD (NetBSD, OpenBSD, FreeBSD).

Sven Verdoolaege a développé une interface graphique GTK+ pour nvi, mais son projet ne semble plus avancer. Les fonctionnalités de nvi signalées comme primaires ou non-implémentes ont toutes les chances de rester au point où elles en sont à l'heure actuelle.

En raison de l'orientation libre de la licence BSD, nvi peut varier subtilement d'un BSD à l'autre. À l'origine, il provient de la première version de Elvis, écrite par Steve Kirkendall.

Tout comme le vi original, nvi n'est exécutable que sur les plates-formes POSIX/Unix, en raison de sa dépendance envers la bibliothèque ncurses.

