The Traditional Vi
The Traditional Vi
Source Code for Modern Unix Systems
The vi editor is one of the most common text editors on Unix. It was<br>developed<br>starting around 1976 by<br>Bill Joy<br>at<br>UCB, who was tired of<br>the<br>ed<br>editor. But since he used ed as a code base, access to the<br>original sources has required a commercial Unix Source Code License for more<br>than twenty years. In January 2002,<br>Caldera was so kind to remove usage<br>restrictions to the Ancient Unix Code by a<br>BSD-style license<br>(see the
announcement at Slashdot)<br>and thus vi is now finally free.
Compared to most of its many clones, the traditional vi is a rather<br>small program (the binary size is approximately 160 kBytes on i386)<br>just with its extremely powerful<br>editing interface, but lacking fancy features like multiple undo,<br>multiple screens, or syntax highlighting.
This port of vi has generally preserved<br>the original style, terminal control, and feature set.<br>It adds support for international character sets,<br>including multibyte encodings such as UTF-8,<br>and some minor enhancements that were not present in BSD vi 3.7,<br>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<br>freshmeat.net.<br>You can use their subscription service<br>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<br>in the public CVS repository.<br>Use
$ cvs -d:pserver:anonymous@ex-vi.cvs.sourceforge.net:/cvsroot/ex-vi login<br>CVS password:<br>$ cvs -d:pserver:anonymous@ex-vi.cvs.sourceforge.net:/cvsroot/ex-vi co ex-vi
to retrieve a copy.<br>Follow<br>these instructions<br>for more information.<br>If you want to report a problem, please look at the<br>Changes file in CVS<br>to see if it has already been resolved,<br>and if so, try if the fix works for you.<br>Do not use the code from CVS unless you have a special reason to do so.<br>It may be incorrect, not well tested, and might not even compile.<br>Also note that the libuxre subdirectory<br>and the regexp.h include file<br>are not available from CVS<br>because their contents are maintained as part of the<br>Heirloom Toolchest.<br>So to build from CVS sources,<br>copy these items from an earlier release archive.
Documentation
For installation instructions and a list of supported systems, see the<br>README.
Changes in ex and vi is a detailed<br>listing of all modifications in the port.
An Introduction to Display Editing with Vi<br>is both a tutorial and a source of knowledge for more advanced users.<br>This edition contains some annotations for changes in the port.<br>It is also available as a<br>complete archive<br>for offline reading.<br>The manual page ex(1) provides<br>reference documentation for the basic concepts of the editor,<br>addressing lines,<br>ex commands (prefixed by a ':' in visual mode),<br>regular expressions and substitutions,<br>and configuration options.
The manual page vi(1) describes<br>the command characters in visual mode.
Gunnar Ritter<br>gunnarr@acm.org> 2007-11-29