Message from discussion
A new clone of vi is coming soon: ELVIS
Path: gmdzi!unido!mcsun!uunet!zephyr.ens.tek.com!tektronix!percy!parsely!psueea!eecs.cs.pdx.edu!kirkenda
From: kirke...@eecs.cs.pdx.edu (Steve Kirkendall)
Newsgroups: comp.editors
Subject: A new clone of vi is coming soon: ELVIS
Keywords: vi ex elvis
Message-ID: <2719@psueea.UUCP>
Date: 20 Apr 90 20:37:32 GMT
Sender: n...@psueea.UUCP
Reply-To: kirke...@eecs.cs.pdx.edu (Steve Kirkendall)
Organization: Portland State University, Portland, OR
Lines: 64
Posted: Fri Apr 20 21:37:32 1990
I've been working on a new clone of vi. Somebody suggested that the folks on
this newsgroup might be interested, so...
The clone is called "elvis", some of its major features are:
* The text is stored in a temporary file, just like the real vi,
and UNLIKE stevie. Because of this, you can edit files that are
larger than a single process' data space. Also, you can recover
your file after a crash or power failure.
* A fairly complete "ex" mode is supported. Elvis can execute most
ex scripts. The :@, :abbr, and :preserve commands are missing,
and :recover has been replaced by a separate program. Every other
command is present, though, including :map and :change.
* All visual-mode commands work, except @ and *appending* to named
buffers. List support is missing. There are a few extensions:
shift-K looks up the word that the cursor is on & displays some
information about it (currently it tries to find a function header,
given the function name) and ## increments a number.
* Arrow keys work in input mode. In fact, if you invoke the editor
via the name "input", then it will start editing in input mode.
You can make your changes, and then exit by hitting control-Z twice,
and NEVER go into visual command mode. In other words, elvis can
act pretty much like a NORMAL editor -- something that the real vi
certainly can't do.
* Long lines are displayed differently. Where vi and stevie wrap the
line onto several rows of the screen, elvis displays it on one row
and allows you to scroll sideways.
* In input mode, you can backspace past the beginning of a line.
* Elvis can (optionally) interpret the \fB, \fI, and \fU sequences
to display bold/italic/underlined characters on the screen.
* Elvis refreshes the screen very quickly.
* Elvis allows wildcards in filenames. For example, you can say
":n *.c" to edit all of the C source files in the directory.
The real vi does this, too, but stevie doesn't.
* For regular expressions, elvis uses a syntax that is very similar to
the real vi's. It is more compatible than stevie.
* It has a 40-page manual.
The first version of elvis was posted to comp.os.minix in late January.
A set of patches/extensions were posted there about three weeks later,
in mid-February. Since then, elvis has been improved/debugged. More
importantly, it has been ported to MS-DOS. When it works under Atari TOS,
I will post it to comp.sources.SOMETHING. Hopefully, this will be in a
week or so.
My motivations for writing elvis were:
1) I wanted a clone of vi that would run under Minix.
2) I wanted the source to a version of vi, so that I could change
a few things.
3) I wanted an editor that didn't store the edited file in *volatile*
memory.
-------------------------------------------------------------------------------
Steve Kirkendall, kirke...@cs.pdx.edu, uunet!tektronix!psueea!eecs!kirkenda
My favorite word is "flabbergast"