Annotation of src/usr.bin/vi/README, Revision 1.2
1.2 ! deraadt 1: # @(#)README 8.135 (Berkeley) 5/18/96
1.1 deraadt 2:
1.2 ! deraadt 3: This is the README for nex/nvi, a freely redistributable replacement for
! 4: the ex/vi text editors originally distributed as part of the Fourth
! 5: Berkeley Software Distribution (4BSD), by the University of California,
! 6: Berkeley.
! 7:
! 8: The source code for nex/nvi can be retrieved by using anonymous ftp to
! 9: ftp.cs.berkeley.edu. The files ucb/4bsd/nvi.tar.Z and ucb/4bsd/nvi.tar.gz
! 10: are the compressed and gzip'd archives, respectively, of version 1.34 of
! 11: nex/nvi. This version is believed to be stable and reasonably problem
! 12: free. The file ucb/4bsd/nvi.ALPHA.1.66.tar.gz is a gzip'd archive of the
! 13: current alpha-test release of nex/nvi, version 1.66. This version reflects
! 14: the current development tree, and is more likely to have unanticipated
! 15: problems.
1.1 deraadt 16:
1.2 ! deraadt 17: See the file build/README for information on building nvi.
! 18:
! 19: See the file LAYOUT for a description of where everything is.
! 20:
! 21: If you have any questions about nex/nvi, or problems making it work,
! 22: please contact me by electronic mail at one of the following addresses:
1.1 deraadt 23:
24: uunet!bostic
25: bostic@cs.berkeley.edu
26:
27: Keith Bostic
28:
29: =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
1.2 ! deraadt 30: o This software is several years old and is the product of many folks' work.
1.1 deraadt 31:
1.2 ! deraadt 32: This software was originally derived from software contributed to
! 33: the University of California, Berkeley by Steve Kirkendall, the
! 34: author of the vi clone elvis. Without his work, this work would
! 35: have been far more difficult.
! 36:
! 37: IEEE POSIX 1003.2 style regular expression support is courtesy of
! 38: Henry Spencer, for which I am *very* grateful.
1.1 deraadt 39:
1.2 ! deraadt 40: Elan Amir did the original 4BSD curses work that made it possible
! 41: to support a full-screen editor using curses.
1.1 deraadt 42:
1.2 ! deraadt 43: George Neville-Neil added the Tcl interpreter, and the initial
! 44: interpreter design was his.
1.1 deraadt 45:
1.2 ! deraadt 46: Sven Verdoolaege added the Perl5 interpreter.
1.1 deraadt 47:
1.2 ! deraadt 48: o Many, many people provided enhancements, bug reports and testing, far too
! 49: many to individually thank.
1.1 deraadt 50:
51: o From the original vi acknowledgements, by William Joy and Mark Horton:
52:
53: Bruce Englar encouraged the early development of this display
54: editor. Peter Kessler helped bring sanity to version 2's
55: command layout. Bill Joy wrote versions 1 and 2.0 through 2.7,
56: and created the framework that users see in the present editor.
57: Mark Horton added macros and other features and made the editor
58: work on a large number of terminals and Unix systems.
59:
60: o And...
61: The financial support of UUNET Communications Services is gratefully
62: acknowledged.
63:
64: =-=-=-=-=-=-=-=-=-=-=
65: o Status:
66:
1.2 ! deraadt 67: This software is in beta test, and it's pretty stable. Almost all of the
! 68: historic functionality in ex/vi is there, the only major missing pieces
! 69: are open mode and the lisp option. (Also, the options hardtabs, optimize,
! 70: redraw, and slowopen are recognized, but ignored.)
! 71:
! 72: Nvi is largely 8-bit clean. This isn't difficult to fix, and was left in
! 73: during initial development to keep things simple. Wide character support
! 74: will be integrated at the same time that it is made fully 8-bit clean.
1.1 deraadt 75:
76: There aren't a lot of new features in nex/nvi, but there are a few things
77: you might like. The "Additional Features" section of the reference page
78: (USD.doc/vi.ref/vi.ref.txt, USD.doc/vi.ref/vi.ref.ps) has more information.
79:
80: =-=-=-=-=-=-=-=-=-=-=
81: o Debugging:
82:
1.2 ! deraadt 83: Code fixes are greatly appreciated, of course, but if you can't provide
! 84: them, please email me as much information as you can as to how I might
! 85: reproduce the bug, and I'll try to fix it locally. Stack traces of core
! 86: dumps are only rarely helpful -- an example file with a set of keystrokes
! 87: that causes the problem is almost invariably necessary. I know it's
! 88: annoying, but simply playing with the bug until you can reproduce it at
! 89: will with minimal keystrokes is immensely helpful to me.
1.1 deraadt 90:
91: Please include the following in the bug report;
92:
93: o The version of nvi you're running (use :version to get it).
94: o The row/column dimensions of the screen (80 x 32).
95: o Unless you're confident that they're not part of the problem,
96: your startup files (.exrc, .nexrc) and the environment variable
1.2 ! deraadt 97: (EXINIT, NEXINIT) values. (Cutting and pasting the output
1.1 deraadt 98: of ":set all" is usually sufficient.)
99:
1.2 ! deraadt 100: If you want to do your own debugging, recompile the program with DEBUG
! 101: defined. (Configuring with --enable-debug will do this for you.) This
! 102: turns on the additional command-line option -D, that takes either s or w
! 103: as an argument. The option -Ds causes nvi to ignore the EXINIT and
! 104: .exrc files on startup, and -Dw causes nvi to print out the process id
! 105: and wait for you to enter a <carriage-return> to continue.
! 106:
! 107: If you're running a memory checker (e.g. Purify) on nvi, you will first
! 108: want to recompile everything with "-DPURIFY" set in the CFLAGS. This
! 109: initializes allocated pages in the DB code, and free's allocated memory
! 110: at the end of the nvi execution.