119304SpeterList of things that should be added:
219304Speter=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
319304Speter
419304Speter+ X11 (Tk, Motif, Xaw) interface.
519304Speter+ Interpreted language (Perl, Scheme, Tcl/Rush, Python)
619304Speter+ Additional ports: Windows, Windows NT, MSDOS
719304Speter+ Forms editing package; use RE's to verify field contents.
819304Speter+ Internationalization, including wide character and multibyte support.
919304Speter+ Support for single line window editing, including full editing
1019304Speter  capability on the vi colon command line.
1119304Speter+ Rob Pike's sam style RE's.
1219304Speter+ Right-to-left and bottom to top text support.
1319304Speter+ Quitall command, to leave all windows.  A ! will force the quit.
1419304Speter
1519304SpeterList of suggested features:
1619304Speter=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
1719304Speter+ It would be nice to have the completion mechanism found in tcsh versions
1819304Speter  >= 6.03.  For instance, the completion for the `:cd' command will be
1919304Speter  directories only.  The completion for the `:set' command will be all
2019304Speter  options not set at that moment, and for `:set un' will be all options
2119304Speter  that are set at that moment.  The completion for `:< count' will be the
2219304Speter  flags.
2319304Speter
2419304Speter+ Add an command-line option to initially split the screen based on the
2519304Speter  number of file arguments, e.g., "nvi -a file1 file2" would initialize
2619304Speter  a two edit-buffer display.
2719304Speter
2819304Speter+ Add a "push" command that would push a file on the tags stack.
2919304Speter  (Essentially make tags a special case of the stack, and make
3019304Speter  the stack more general purpose.)
3119304Speter
3219304Speter+ Make :script just run a command and edit the output, and :interactive,
3319304Speter  which allows interactive shell session, instead of just the current
3419304Speter  :script.
3519304Speter
3619304Speter+ Add tagging information to the man page so that users can display
3719304Speter  the part of the man page that discusses the command in which they're
3819304Speter  interested.
3919304Speter
4019304Speter+ Add a zone option so that you can declare that top/bottom few lines
4119304Speter  of the screen aren't filled except by accident, so that the text
4219304Speter  you ask for is always concentrated in the center of the screen.
4319304Speter
4419304Speter+ Change
4519304Speter	:di[splay] tags		-> :tags
4619304Speter	:di[splay] screens	-> :screens
4719304Speter	:di[splay] buffers	-> :buffers
4819304Speter
4919304Speter+ A macro record function.  Add the ability to record a sequence
5019304Speter  of keystrokes into a named buffer for later use.  Handy when
5119304Speter  you're trying to build a semi-complex macro.
5219304Speter
5319304Speter+ The semantics of :split, :bg, and :fg aren't right.  Someone needs to
5419304Speter  rethink how they should interact.  The main problem arises when users
5519304Speter  want to get a window into a new file.  Currently, the necessary sequence
5619304Speter  is  ":split newfile|^W|:bg".  It would be nice if you could simply
5719304Speter  background the current screen and edit a new one.
5819304Speter
5919304Speter+ An option to turn on a ``quarter plane'' model so that you can
6019304Speter  go as far to the right or down as you wish.  The File or the
6119304Speter  current line is only extended if you actually put down a char at
6219304Speter  the new location.  Very handy for ascii graphics and tables.
6319304Speter
6419304Speter+ Some way of replacing the command bindings.  For this to work
6519304Speter  cleanly the notion of a command must be separate from that of a
6619304Speter  key.  (Simulate the Rand editor?)
6719304Speter
6819304Speter+ Vertical splitting, so you can see files side by side.
6919304Speter
7019304Speter+ Tracking.  Two or more files are associated so that when one file
7119304Speter  is scrolled up/down/left/right other files track by the same amount.
7219304Speter  Tracking may be constrained such that two files only track vertically
7319304Speter  or horizontally.  This is relatively easy to implement.
7419304Speter
7519304Speter+ A status file so that the next time invocation of the editor returns
7619304Speter  to the same place, with the same number of windows etc.  In case of
7719304Speter  change of the screen size, reasonable defaults are used.  For each
7819304Speter  window size and location of the window, name of the file and position
7919304Speter  in it, any tab settings, any other settings for the window (such as
8019304Speter  insert/overwrite mode, auto indent etc).  Last search RE and maybe
8119304Speter  direction.  If a file does not exist the next time you invoke the
8219304Speter  editor, its window is left in the same place but with some default
8319304Speter  message.
84