summaryrefslogtreecommitdiff
path: root/contrib/nvi/docs/features
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/nvi/docs/features')
-rw-r--r--contrib/nvi/docs/features83
1 files changed, 83 insertions, 0 deletions
diff --git a/contrib/nvi/docs/features b/contrib/nvi/docs/features
new file mode 100644
index 000000000000..51650f949efc
--- /dev/null
+++ b/contrib/nvi/docs/features
@@ -0,0 +1,83 @@
+List of things that should be added:
+=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+
++ X11 (Tk, Motif, Xaw) interface.
++ Interpreted language (Perl, Scheme, Tcl/Rush, Python)
++ Additional ports: Windows, Windows NT, MSDOS
++ Forms editing package; use RE's to verify field contents.
++ Internationalization, including wide character and multibyte support.
++ Support for single line window editing, including full editing
+ capability on the vi colon command line.
++ Rob Pike's sam style RE's.
++ Right-to-left and bottom to top text support.
++ Quitall command, to leave all windows. A ! will force the quit.
+
+List of suggested features:
+=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
++ It would be nice to have the completion mechanism found in tcsh versions
+ >= 6.03. For instance, the completion for the `:cd' command will be
+ directories only. The completion for the `:set' command will be all
+ options not set at that moment, and for `:set un' will be all options
+ that are set at that moment. The completion for `:< count' will be the
+ flags.
+
++ Add an command-line option to initially split the screen based on the
+ number of file arguments, e.g., "nvi -a file1 file2" would initialize
+ a two edit-buffer display.
+
++ Add a "push" command that would push a file on the tags stack.
+ (Essentially make tags a special case of the stack, and make
+ the stack more general purpose.)
+
++ Make :script just run a command and edit the output, and :interactive,
+ which allows interactive shell session, instead of just the current
+ :script.
+
++ Add tagging information to the man page so that users can display
+ the part of the man page that discusses the command in which they're
+ interested.
+
++ Add a zone option so that you can declare that top/bottom few lines
+ of the screen aren't filled except by accident, so that the text
+ you ask for is always concentrated in the center of the screen.
+
++ Change
+ :di[splay] tags -> :tags
+ :di[splay] screens -> :screens
+ :di[splay] buffers -> :buffers
+
++ A macro record function. Add the ability to record a sequence
+ of keystrokes into a named buffer for later use. Handy when
+ you're trying to build a semi-complex macro.
+
++ The semantics of :split, :bg, and :fg aren't right. Someone needs to
+ rethink how they should interact. The main problem arises when users
+ want to get a window into a new file. Currently, the necessary sequence
+ is ":split newfile|^W|:bg". It would be nice if you could simply
+ background the current screen and edit a new one.
+
++ An option to turn on a ``quarter plane'' model so that you can
+ go as far to the right or down as you wish. The File or the
+ current line is only extended if you actually put down a char at
+ the new location. Very handy for ascii graphics and tables.
+
++ Some way of replacing the command bindings. For this to work
+ cleanly the notion of a command must be separate from that of a
+ key. (Simulate the Rand editor?)
+
++ Vertical splitting, so you can see files side by side.
+
++ Tracking. Two or more files are associated so that when one file
+ is scrolled up/down/left/right other files track by the same amount.
+ Tracking may be constrained such that two files only track vertically
+ or horizontally. This is relatively easy to implement.
+
++ A status file so that the next time invocation of the editor returns
+ to the same place, with the same number of windows etc. In case of
+ change of the screen size, reasonable defaults are used. For each
+ window size and location of the window, name of the file and position
+ in it, any tab settings, any other settings for the window (such as
+ insert/overwrite mode, auto indent etc). Last search RE and maybe
+ direction. If a file does not exist the next time you invoke the
+ editor, its window is left in the same place but with some default
+ message.