A few ideas for modifications...

MODE INDICATORS
	Elvis always reads keystrokes via the getkey() function.  This function
	is called with an argument which describes the context in which the
	character will be processed:

		WHEN_EX		- called from the vgets() function to read
				  a single line of text.  Either EX command
				  mode, EX text entry mode, or VI while reading
				  a search string.
		WHEN_VICMD	- VI mode, getting a command character.
		WHEN_VIINP	- VI's input mode.
		WHEN_VIREP	- VI's replace mode (the R command).
		0		- misc times, e.g. "HIT A KEY TO CONTINUE"

	So, the getkey() function would be a good place to add some kind of
	mode indicator.  Like, you could change the shape of the cursor for
	input mode vs. VI command mode.

ARROW KEYS IN INPUT MODE
	The arrow keys are not normally mapped during input mode.  It might
	be fun, though, to map them to ESC + [hjkl] + a.  This way, if you
	hit an arrow key while in input mode, elvis would take you out of input
	mode momentarily, move the cursor, and drop you back into input mode.

	Neat, huh?

	Something similar could be done with replace mode.

WRAP LONG LINES (INSTEAD OF SCROLLING SIDEWAYS)
	This would mostly require changes to redraw(), mark2phys(), and
	drawtext().  All of these are in the file "redraw.c".

THE SHIFT-U COMMAND
	No clues, yet.

ADD MORE SUPPORT FOR NON-ASCII CHARACTER SETS
	Elvis displays 8-bit character sets just fine, but is a bit weak in
	the input and search departments.

	For input, something similar to :map would be nice.  Actually, :abbr
	is a little closer.  How about ":digraph" to map a specified pair of
	ASCII characters into a single non-ASCII character?

REWRITE THE REGULAR EXPRESSION PARSER AND THE SEARCHING CODE
	The current doesn't allow you to search for non-ASCI characters.  It
	also doesn't locate multiple occurrences on the same line.  It could
	probably be made smaller & faster.

PORT ELVIS TO MS-DOS?
	Yuck!

Suggestions are welcome.
