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