nvi(new vi )は、 BSDシステム、そして後にUnixシステムに従来から付属していた、古典的なBerkeleyテキストエディタであるex/viを再実装したものです。元々は、第4版Berkeleyソフトウェアディストリビューション(4BSD)の一部として配布されていました。
AT&Tとカリフォルニア大学バークレー校のコンピュータシステム研究グループ(CSRG)との間でライセンスをめぐる紛争が発生したため、CSRGはBSDソースコードのUnix由来部分をすべて、新規かつ制約のないコードに置き換える必要に迫られた。nviは、元のviがカリフォルニア大学バークレー校のものであるにもかかわらず、書き直された多くのコンポーネントの1つであった。AT&Tはライセンスに関して法的権利を有していた。
nviはKeith Bosticによって書かれた。これは、主要なBSDシステム(NetBSD、OpenBSD、FreeBSD)およびMINIXのデフォルトのviである。[ 3 ]
これは元々 、nviのソースコードに含まれているREADMEファイルに記載されているように、スティーブ・カーケンデールによって書かれたelvisの最初のバージョンから派生したものです。
Sven Verdoolaege は2000 年にUnicodeのサポートを追加しました。 [ 4 ]
BSDプロジェクトでは、Berkeley Database 1.85とSleepycat Softwareによるそれ以降のバージョンとのライセンスの違いから、引き続きnviバージョン1.79が使用されています。nviは、編集中のテキストをデータベースに保存するという点で特殊です。Sven Verdoolaege氏によるバージョン1.79以降の変更では、Berkeley DB 1.85データベースにはないロック機能が使用されています。また、1.79以降のnviの変更により、viとの互換性が低下したと報告されています。
nvi はBSD間で微妙に異なる場合があります。
nviはcurses / ncursesライブラリに依存しているため、POSIX /Unixプラットフォームでのみ利用可能です。[ 5 ]
故伊藤潤一郎萩野氏によるメンテナンスされていない多言語版がnvi-m17nとして入手可能である。 [ 6 ] [ 7 ]
現在もメンテナンスされているマルチバイト版はnvi2として利用可能で、DragonFly BSDのデフォルトのviである。[ 8 ]