Elvis (text editor)

Last updated
Elvis
Original author(s) Steve Kirkendall
Stable release
2.2 / October 21, 2003;20 years ago (2003-10-21)
Written in C
Platform Cross-platform,including Unix, Linux and Microsoft Windows
Available inEnglish
Type Text editor
License ClArtistic [lower-alpha 1] [1]
Website elvis.the-little-red-haired-girl.org

Elvis is an enhanced clone of the vi text editor, first released in January 1990. It introduced several new features, including syntax highlighting and built-in support for viewing nroff and HTML documents. Elvis is written by Steve Kirkendall and is distributed under the Clarified Artistic License (ClArtistic) which is used by Perl and is a GPL-compatible free software license.

Contents

Elvis is the version of vi that comes with Slackware, Frugalware, and KateOS.

Comments

Elvis was the pioneering vi clone, widely admired in the 1990s for its conciseness, and many features. [2] [3] It influenced the development of Vim until about 1997. [4] [5]

It was the first to provide color syntax highlighting (and to generalize syntax highlighting to multiple file types), first to provide highlighted selections via keyboard.

Elvis's built-in nroff (early) and (later) HTML displays gave it unusual WYSIWYG features.

Example of Elvis' hypertext help screen. Elvis-help.png
Example of Elvis' hypertext help screen.

Elvis recognizes binary files, as well and provides a split screen for editing them.

Example of Elvis' hexadecimal editing mode. Elvis-hexedit.png
Example of Elvis' hexadecimal editing mode.

jelvis, a Japanese variant, is available, based on work by Jun-ichiro itojun Hagino up until 1998. [6] His more recent work in this area has been distributed as patches against nvi. A Korean variant helvis is also available, originally by Park Chong-Dae. [7] [8] These variants were modifications of elvis 1.8 (July 10, 1994). [9] The nvi editor is based on an older version of elvis 1.5 (April 2, 1992). [10]

History

Elvis is an enhanced clone of vi. To understand the full context in which Elvis was created, readers should consider the history of vi. In this section we examine the version history of Elvis almost exclusively.

Steve Kirkendall posted the first version of Elvis to the Usenet newsgroup comp.os.minix in early January, 1990, intending it to be a more complete and faithful clone of Vi than Tim Thompson's Stevie (ST editor for VI enthusiasts), released three years previously. [11] [12] Kirkendall outlined several ways in which Elvis was different from Stevie, namely:

In addition, in Elvis almost all ex/vi commands worked (except  :@, :abbr, and :preserve in ex mode and @ in visual mode and appending to named buffers). [13]

It quickly attracted considerable interest in a number of enthusiast communities. [14] Andrew Tanenbaum quickly asked the community to decide one of these two editors to be the vi clone in Minix; [15] Elvis was chosen, and remains the vi clone for Minix today.

In 1989, Lynne Jolitz and William Jolitz began porting BSD Unix to run on 386 class processors, but to create a free distribution they needed to avoid any AT&T-contaminated code, including Joy's vi. To fill the void left by removing vi, their 1992 386BSD distribution adopted Elvis as its vi replacement. But at UC Berkeley, Keith Bostic wanted a “bug for bug compatible” replacement for Joy's vi for BSD 4.4 Lite. Using Kirkendall's Elvis (version 1.8) as a starting point, Bostic created nvi, releasing it in Spring of 1994. [16]

In August 1994, Kirkendall announced that he was working on a major rewrite of Elvis, [17] and in October 1996, it was ready for release. [18] The new version had a number of new features, including

In December 1998, Kirkendall released Elvis 2.1, [19] with added features, including name completion, via the <Tab> key, network protocols (allowing can reading/writing via Web URLs), and a "tex" display mode. Kirkendall maintained the 2.1 release with bugfixes and minor enhancements as 2.1_1, 2.1_2, 2.1_3, and culminating in 2.1_4, released in October 1999. [20]

In October 2003, four years after the previous release, Kirkendall released Elvis 2.2, [21] which added a number of new features, including a built-in context-sensitive spell checker, text folding, region highlighting, and user-definable URL protocols. In addition, it adopted a number of ideas from Vim.

Notes

Related Research Articles

<span class="mw-page-title-main">Andrew S. Tanenbaum</span> American-Dutch computer scientist (born 1944)

Andrew Stuart Tanenbaum, sometimes referred to by the handle ast, is an American–Dutch computer scientist and professor emeritus of computer science at the Vrije Universiteit Amsterdam in the Netherlands.

<span class="mw-page-title-main">Bash (Unix shell)</span> GNU replacement for the Bourne shell

Bash is a Unix shell and command language written by Brian Fox for the GNU Project as a free software replacement for the Bourne shell. First released in 1989, it has been used as the default login shell for most Linux distributions and it was one of the first programs Linus Torvalds ported to Linux, alongside GCC. A version is also available for Windows 10 and Windows 11 via the Windows Subsystem for Linux. It is also the default user shell in Solaris 11. Bash was also the default shell in BeOS, and in versions of Apple macOS from 10.3 to 10.15, which changed the default shell to zsh, although Bash remains available as an alternative shell.

The editor war is the rivalry between users of the Emacs and vi text editors. The rivalry has become an enduring part of hacker culture and the free software community.

<span class="mw-page-title-main">Vim (text editor)</span> Improved version of the Vi keyboard-oriented text editor

Vim is a free and open-source, screen-based text editor program. It is an improved clone of Bill Joy's vi. Vim's author, Bram Moolenaar, derived Vim from a port of the Stevie editor for Amiga and released a version to the public in 1991. Vim is designed for use both from a command-line interface and as a standalone application in a graphical user interface.

vi (text editor) Keyboard-oriented text editor

vi is a screen-oriented text editor originally created for the Unix operating system. The portable subset of the behavior of vi and programs based on it, and the ex editor language supported within these programs, is described by the Single Unix Specification and POSIX.

<span class="mw-page-title-main">Tru64 UNIX</span> Computer operating system

Tru64 UNIX is a discontinued 64-bit UNIX operating system for the Alpha instruction set architecture (ISA), currently owned by Hewlett-Packard (HP). Previously, Tru64 UNIX was a product of Compaq, and before that, Digital Equipment Corporation (DEC), where it was known as Digital UNIX.

Almquist shell is a lightweight Unix shell originally written by Kenneth Almquist in the late 1980s. Initially a clone of the System V.4 variant of the Bourne shell, it replaced the original Bourne shell in the BSD versions of Unix released in the early 1990s.

In the Unix operating system, shar is an archive format created with the Unix shar utility. A shar file is a type of self-extracting archive, because it is a valid shell script, and executing it will recreate the files. To extract the files, only the standard Unix Bourne shell sh is usually required.

<span class="mw-page-title-main">Coherent (operating system)</span> Unix operating system clone

Coherent is a clone of the Unix operating system for IBM PC compatibles and other microcomputers, developed and sold by the now-defunct Mark Williams Company (MWC). Historically, the operating system was a proprietary product, but it became open source in 2015, released under the BSD-3-Clause license.

Ctags is a programming tool that generates an index file of names found in source and header files of various programming languages to aid code comprehension. Depending on the language, functions, variables, class members, macros and so on may be indexed. These tags allow definitions to be quickly and easily located by a text editor, a code search engine, or other utility. Alternatively, there is also an output mode that generates a cross reference file, listing information about various names found in a set of language files in human-readable form.

nvi Re-implementation of ex/vi

nvi is a re-implementation of the classic Berkeley text editor, ex/vi, traditionally distributed with BSD and, later, Unix systems. It was originally distributed as part of the Fourth Berkeley Software Distribution (4BSD).

<span class="mw-page-title-main">Applix 1616</span>

The Applix 1616 was a kit computer with a Motorola 68000 CPU, produced by a small company called Applix in Sydney, Australia, from 1986 to the early 1990s. It ran a custom multitasking multiuser operating system that was resident in ROM. A version of Minix was also ported to the 1616, as was the MGR Window System. Andrew Morton, designer of the 1616 and one of the founders of Applix, later became the maintainer of the 2.6 version of the Linux kernel.

vile is a text editor that combines aspects of the Emacs and vi editors. These editors are traditionally located on opposing sides of the editor wars, as users of either tend to have strong sentiments against the editor they do not use. vile attempts to reconcile these positions.

This article provides basic comparisons for notable text editors. More feature details for text editors are available from the Category of text editor features and from the individual products' articles. This article may not be up-to-date or necessarily all-inclusive.

<span class="mw-page-title-main">Tanenbaum–Torvalds debate</span> 1990s debate regarding the Linux kernel

The Tanenbaum–Torvalds debate was a written debate between Andrew S. Tanenbaum and Linus Torvalds, regarding the Linux kernel and kernel architecture in general. Tanenbaum, the creator of Minix, began the debate in 1992 on the Usenet discussion group comp.os.minix, arguing that microkernels are superior to monolithic kernels and therefore Linux was, even in 1992, obsolete. The debate has sometimes been considered a flame war.

Linux began in 1991 as a personal project by Finnish student Linus Torvalds to create a new free operating system kernel. The resulting Linux kernel has been marked by constant growth throughout its history. Since the initial release of its source code in 1991, it has grown from a small number of C files under a license prohibiting commercial distribution to the 4.15 version in 2018 with more than 23.3 million lines of source code, not counting comments, under the GNU General Public License v2 with a syscall exception meaning anything that uses the kernel via system calls are not subject to the GNU GPL.

ne (text editor) Text editor for POSIX operating systems

ne is a console text editor for POSIX computer operating systems such as Linux or Mac OS X. It uses the terminfo library, but it can also be compiled using a bundled copy of the GNU termcap implementation. There is also a Cygwin version. It was developed by Sebastiano Vigna of the University of Milan.

<span class="mw-page-title-main">Hamilton C shell</span>

Hamilton C shell is a clone of the Unix C shell and utilities for Microsoft Windows created by Nicole Hamilton at Hamilton Laboratories as a completely original work, not based on any prior code. It was first released on OS/2 on December 12, 1988 and on Windows NT in July 1992. The OS/2 version was discontinued in 2003 but the Windows version continues to be actively supported.

<span class="mw-page-title-main">KWrite</span> Text editor for KDE desktop environment

KWrite is a lightweight text editor developed by the KDE free software community. Since K Desktop Environment 3, Kwrite has been based on the Kate text editor and the KParts framework, allowing it to use many of Kate's features.

Stevie, ST Editor for VI Enthusiasts, is a discontinued clone of Bill Joy's vi text editor. Stevie was written by Tim Thompson for the Atari ST in 1987. It later became the basis for Vim, which was released in 1991.

References

  1. "Clarified Artistic License". spdx.org.
  2. "editor-faq/Editor_List". Newsgroup:  comp.editors. August 13, 1992. Archived from the original on 2007-09-27.
  3. "Editors available on central UNIX platforms". 1994-09-21. Archived from the original on 2008-05-20. Retrieved 2008-02-07.
  4. "VIM - Wishlist". Archived from the original on 2008-05-20. Retrieved 2008-05-22.
  5. "Wishlist for vim 6.0". 1998. Retrieved 2008-05-22.
  6. Jun-ichiro Hagino; Yoshitaka Tokugawa (June 6–11, 1999). "Multilingual vi Clones: Past, Now and the Future". 1999 USENIX Annual Technical Conference. USENIX.
  7. "FreshPorts description of helvis".
  8. "README file for helvis".
  9. "A clone of vi/ex, the standard UNIX editor, with Japanese patch". Archived from the original on 2007-10-07. Retrieved 2007-09-03.
  10. Thomas E. Dickey (January 23, 2007). "how to draw a line in vi at 80 columns". Newsgroup:  comp.unix.programmer.
  11. Thompson, Tim (2000-03-26). "Stevie" . Retrieved 2010-12-29.
  12. Tim Thompson (1987-06-28). "A mini-vi for the ST". Newsgroup:  comp.sys.atari.st. Usenet:   129@glimmer.UUCP . Retrieved 2010-12-29.
  13. Steve Kirkendall (1990-04-20). "A new clone of vi is coming soon: ELVIS". Newsgroup:  comp.editors. Usenet:   2719@psueea.UUCP . Retrieved 2010-12-29. (discusses January comp.os.minix posting, and design goals)
  14. Usenet, various newsgroups (comp.editors, comp.sys.*, comp.os.*), 1990
  15. Andrew S. Tanenbaum (1990-01-18). "Elvis vs. stevie". Newsgroup:  comp.os.minix. Usenet:   5133@ast.cs.vu.nl . Retrieved 2010-12-29.
  16. Robbins, Arnold; Hannah, Elbert; Lamb, Linda (2008). "Chapter 16: nvi: New vi". Learning the vi and vim editors (7th ed.). O'Reilly Media, Inc. pp. 307–308. ISBN   978-0-596-52983-3 . Retrieved 2010-12-29.
  17. Steve Kirkendall (1994-09-07). "Elvis 2.0 is not released, but..." Newsgroup:  comp.editors. Usenet:   324d04$9vh@rigel.cs.pdx.edu . Retrieved 2010-12-31.
  18. Steve Kirkendall (1996-10-02). "Second Coming of Elvis (elvis 2.0 released)". Newsgroup:  comp.editors. Usenet:   52updt$qhj@rigel.cs.pdx.edu . Retrieved 2010-12-31.
  19. Steve Kirkendall (1998-12-09). "It's official: Elvis 2.1 is hereby released". Newsgroup:  comp.editors. Usenet:   74n8au$2hh$1@sirius.cs.pdx.edu . Retrieved 2010-12-31.
  20. Steve Kirkendall (1999-10-22). "Elvis 2.1_4 is now available". Newsgroup:  comp.editors. Usenet:   7uq0ib$lfc$1@sirius.cs.pdx.edu . Retrieved 2010-12-31.
  21. Steve Kirkendall (2003-10-20). "Elvis 2.2 is now officially released". Newsgroup:  comp.editors. Usenet:   3f949d6b@nntp0.pdx.net . Retrieved 2010-12-31.