nvi is short for "new vi ." It was developed initially at the University of California at Berkeley (UCB), home of the famous BSD (Berkeley Software Distribution) versions of UNIX. It was used for writing this chapter.
Bill Joy first built ex , starting with and heavily enhancing the Sixth Edition ed editor. The first enhancement was open mode, done with Chuck Haley. Between 1976 and 1979 ex evolved into vi . Mark Horton then came to Berkeley, added macros "and other features,"[1 ] and did much of the work on vi to make it work on a large number of terminals and UNIX systems. By 4.1BSD (1981), the editor already had essentially all of the features described in Part I of this book.
Despite all of the changes, vi 's core was (and is) the original UNIX ed editor. As such, it was code that could not be freely distributed. By the early 1990s, when they were working on 4.4BSD , the BSD developers wanted a version of vi that could be freely distributed in source code form.
Keith Bostic of UCB started with elvis 1.8,[2 ] which was a freely distributable vi clone, and began turning it into a "bug for bug compatible" clone of vi . nvi also complies with the POSIX Command Language and Utilities Standard (IEEE P1003.2) where it makes sense to do so.
Although no longer affiliated with UCB, Keith Bostic continues to maintain, enhance, and distribute nvi . The version current at the time of this writing is nvi 1.79.
nvi is important because it is the "official" Berkeley version of vi . It is part of 4.4BSD -Lite II, and is the vi version used on the various popular BSD variants such as NetBSD and FreeBSD.