1List of things that should be added: 2=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= 3 4+ X11 (Tk, Motif, Xaw) interface. 5+ Interpreted language (Perl, Scheme, Tcl/Rush, Python) 6+ Additional ports: Windows, Windows NT, MSDOS 7+ Forms editing package; use RE's to verify field contents. 8+ Internationalization, including wide character and multibyte support. 9+ Support for single line window editing, including full editing 10 capability on the vi colon command line. 11+ Rob Pike's sam style RE's. 12+ Right-to-left and bottom to top text support. 13+ Quitall command, to leave all windows. A ! will force the quit. 14 15List of suggested features: 16=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= 17+ It would be nice to have the completion mechanism found in tcsh versions 18 >= 6.03. For instance, the completion for the `:cd' command will be 19 directories only. The completion for the `:set' command will be all 20 options not set at that moment, and for `:set un' will be all options 21 that are set at that moment. The completion for `:< count' will be the 22 flags. 23 24+ Add an command-line option to initially split the screen based on the 25 number of file arguments, e.g., "nvi -a file1 file2" would initialize 26 a two edit-buffer display. 27 28+ Add a "push" command that would push a file on the tags stack. 29 (Essentially make tags a special case of the stack, and make 30 the stack more general purpose.) 31 32+ Make :script just run a command and edit the output, and :interactive, 33 which allows interactive shell session, instead of just the current 34 :script. 35 36+ Add tagging information to the man page so that users can display 37 the part of the man page that discusses the command in which they're 38 interested. 39 40+ Add a zone option so that you can declare that top/bottom few lines 41 of the screen aren't filled except by accident, so that the text 42 you ask for is always concentrated in the center of the screen. 43 44+ Change 45 :di[splay] tags -> :tags 46 :di[splay] screens -> :screens 47 :di[splay] buffers -> :buffers 48 49+ A macro record function. Add the ability to record a sequence 50 of keystrokes into a named buffer for later use. Handy when 51 you're trying to build a semi-complex macro. 52 53+ The semantics of :split, :bg, and :fg aren't right. Someone needs to 54 rethink how they should interact. The main problem arises when users 55 want to get a window into a new file. Currently, the necessary sequence 56 is ":split newfile|^W|:bg". It would be nice if you could simply 57 background the current screen and edit a new one. 58 59+ An option to turn on a ``quarter plane'' model so that you can 60 go as far to the right or down as you wish. The File or the 61 current line is only extended if you actually put down a char at 62 the new location. Very handy for ascii graphics and tables. 63 64+ Some way of replacing the command bindings. For this to work 65 cleanly the notion of a command must be separate from that of a 66 key. (Simulate the Rand editor?) 67 68+ Vertical splitting, so you can see files side by side. 69 70+ Tracking. Two or more files are associated so that when one file 71 is scrolled up/down/left/right other files track by the same amount. 72 Tracking may be constrained such that two files only track vertically 73 or horizontally. This is relatively easy to implement. 74 75+ A status file so that the next time invocation of the editor returns 76 to the same place, with the same number of windows etc. In case of 77 change of the screen size, reasonable defaults are used. For each 78 window size and location of the window, name of the file and position 79 in it, any tab settings, any other settings for the window (such as 80 insert/overwrite mode, auto indent etc). Last search RE and maybe 81 direction. If a file does not exist the next time you invoke the 82 editor, its window is left in the same place but with some default 83 message. 84