VI - Contemporary Derivatives and Clones

Contemporary Derivatives and Clones

  • Traditional Vi is a port of the original vi to modern Unix systems by Gunnar Ritter. Minor enhancements include 8-bit input, support for multi-byte character encodings like UTF-8, and features demanded by POSIX.2. It contains few additions beyond these, so it is of interest for those who look for a small but well-defined vi implementation close to that of most commercial Unix systems. It also has some features to cope with primitive terminals or slow connections. It is available as part of the FreeBSD ports collection, MacPorts, and an RPM is available for Linux from the OpenPKG project. Ritter makes the following claims for Traditional Vi:

Compared to most of its many clones, the original vi is a rather small program (~120 KB code on i386) just with its extremely powerful editing interface, but lacking fancy features like multiple undo, multiple screens or syntax highlighting. In other words, it is a typical Unix program that does exactly what it should and nothing more.

  • Vim "Vi IMproved" has yet more features than vi, including (scriptable) syntax highlighting, mouse support, graphical versions, visual mode, many new editing commands and a large amount of extension in the area of ex commands. Vim is included with almost every Linux distribution (and is also shipped with every copy of Apple Mac OS X). Vim also has a vi compatibility mode, in which Vim is more compatible with vi than it would be otherwise, although some vi features, such as open mode, are missing in Vim, even in compatibility mode. This mode is controlled by the :set compatible option. This mode is automatically turned on by Vim when it is started in a situation which looks as if the software might be expected to be vi compatible. Vim then changes some of its behaviors such that they are compatible with the vi standard. Vim features which do not conflict with vi compatibility are always available, regardless of the setting.
  • Elvis is a free vi clone for Unix and other operating systems written by Steve Kirkendall. Elvis introduced a number of features now present in other vi clones, including allowing the cursor keys to work in input mode. It was the first to provide color syntax highlighting (and to generalize syntax highlighting to multiple filetypes). Elvis 1.x was used as the starting point for nvi, but Elvis 2.0 added numerous features, including multiple buffers, windows, display modes, and file access schemes. Elvis is the standard version of vi shipped on Slackware Linux, Kate OS and MINIX. The most recent version of Elvis is 2.2, released in October 2003.
  • nvi is an implementation of the ex/vi text editor originally distributed as part of the final official Berkeley Software Distribution (4.4 BSD-Lite). This is the version of vi that is shipped with all BSD-based open source distributions. It adds command history and editing, filename completions, multiple edit buffers, multi-windowing (including multiple windows on the same edit buffer). Beyond 1.79, from October, 1996, which is the recommended stable version, there have been "development releases" of nvi, the most recent of which is 1.81.6, from November, 2007.
  • vile was initially derived from an early version of Microemacs in an attempt to bring the Emacs multi-window/multi-buffer editing paradigm to vi users.
  • BusyBox, a set of standard Linux utilities in a single executable, includes a tiny vi clone.

Read more about this topic:  Vi

Famous quotes containing the word contemporary:

    The shift from the perception of the child as innocent to the perception of the child as competent has greatly increased the demands on contemporary children for maturity, for participating in competitive sports, for early academic achievement, and for protecting themselves against adults who might do them harm. While children might be able to cope with any one of those demands taken singly, taken together they often exceed children’s adaptive capacity.
    David Elkind (20th century)