home | O'Reilly's CD bookshelfs | FreeBSD | Linux | Cisco | Cisco Exam  

Learning the vi Editor

Learning the vi EditorSearch this book
Previous: 8.9 A Look Ahead Chapter 9 Next: 9.2 Important Command-Line Arguments

9. nvi -- New vi

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.

9.1 Author and History

The original vi was developed at UCB in the late 1970s by Bill Joy, then a computer science graduate student, and now a founder and vice president of Sun Microsystems.

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.

[1] From the nvi reference manual. Unfortunately, it does not say which features.

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.

[2] Although little or no original elvis code is left.

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.

Previous: 8.9 A Look Ahead Learning the vi Editor Next: 9.2 Important Command-Line Arguments
8.9 A Look Ahead Book Index 9.2 Important Command-Line Arguments

The UNIX CD Bookshelf NavigationThe UNIX CD BookshelfUNIX Power ToolsUNIX in a NutshellLearning the vi Editorsed & awkLearning the Korn ShellLearning the UNIX Operating System