Comments

The Traditional Vi

The vi editor is one of the most common text editors on Unix. It was developed starting around 1976 by Bill Joy at UCB, who was tired of the ed editor. But since he used ed as a code base, access to the original sources has required a commercial Unix Source Code License for more than twenty years. In January 2002, Caldera was so kind to remove usage restrictions to the Ancient Unix Code by a BSD-style license (see the announcement at Slashdot) and thus vi is now finally free.

Compared to most of its many clones, the traditional vi is a rather small program (the binary size is approximately 160 kBytes on i386) just with its extremely powerful editing interface, but lacking fancy features like multiple undo, multiple screens, or syntax highlighting.

This port of vi has generally preserved the original style, terminal control, and feature set. It adds support for international character sets, including multibyte encodings such as UTF-8, and some minor enhancements that were not present in BSD vi 3.7, but had been included in later vi versions for System V or in POSIX.2.

Download the source code

Release 050325 (current)

New releases of this project are announced on freshmeat.net. You can use their subscription service to get an email when a new version is available.

All releases

Browse the CVS repository

The most recent results of development are sometimes made available in the public CVS repository. Use

$ cvs -d:pserver:anonymous@ex-vi.cvs.sourceforge.net:/cvsroot/ex-vi login
CVS password:<just type return>
$ cvs -d:pserver:anonymous@ex-vi.cvs.sourceforge.net:/cvsroot/ex-vi co ex-vi

to retrieve a copy. Follow these instructions for more information. If you want to report a problem, please look at the Changes file in CVS to see if it has already been resolved, and if so, try if the fix works for you. Do not use the code from CVS unless you have a special reason to do so. It may be incorrect, not well tested, and might not even compile. Also note that the libuxre subdirectory and the regexp.h include file are not available from CVS because their contents are maintained as part of the Heirloom Toolchest. So to build from CVS sources, copy these items from an earlier release archive.

Documentation

For installation instructions and a list of supported systems, see the README.

Changes in ex and vi is a detailed listing of all modifications in the port.

An Introduction to Display Editing with Vi is both a tutorial and a source of knowledge for more advanced users. This edition contains some annotations for changes in the port. It is also available as a complete archive for offline reading.

The manual page ex(1) provides reference documentation for the basic concepts of the editor, addressing lines, ex commands (prefixed by a ':' in visual mode), regular expressions and substitutions, and configuration options.

The manual page vi(1) describes the command characters in visual mode.

Gunnar Ritter <gunnarr@acm.org> 2007-11-29