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