Annotation of src/usr.bin/vi/README, Revision 1.1.1.1
1.1 deraadt 1: # @(#)README 8.86 (Berkeley) 8/17/94
2:
3: This is the README for version 1.34 of nex/nvi, a freely redistributable
4: replacement for the Berkeley ex and vi text editors. The compressed or
5: gzip'd archives for this and future versions, can be retrieved by using
6: anonymous ftp to ftp.cs.berkeley.edu, from the file ucb/4bsd/nvi.tar.Z,
7: or ucb/4bsd/nvi.tar.gz.
8:
9: If you have any questions about nvi, or problems making it work, please
10: contact me by electronic mail at one of the following addresses:
11:
12: uunet!bostic
13: bostic@cs.berkeley.edu
14:
15: Keith Bostic
16:
17: =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
18: o Redistribution:
19:
20: This software is copyrighted by the The Regents of the University of
21: California, but may be freely redistributed (or sold, or used to line
22: your birdcage) under the following conditions:
23:
24: /*-
25: * Copyright (c) 1991, 1992, 1993, 1994
26: * The Regents of the University of California. All rights reserved.
27: *
28: * Redistribution and use in source and binary forms, with or without
29: * modification, are permitted provided that the following conditions
30: * are met:
31: * 1. Redistributions of source code must retain the above copyright
32: * notice, this list of conditions and the following disclaimer.
33: * 2. Redistributions in binary form must reproduce the above copyright
34: * notice, this list of conditions and the following disclaimer in the
35: * documentation and/or other materials provided with the distribution.
36: * 3. All advertising materials mentioning features or use of this software
37: * must display the following acknowledgement:
38: * This product includes software developed by the University of
39: * California, Berkeley and its contributors.
40: * 4. Neither the name of the University nor the names of its contributors
41: * may be used to endorse or promote products derived from this software
42: * without specific prior written permission.
43: *
44: * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
45: * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
46: * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
47: * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
48: * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
49: * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
50: * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
51: * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
52: * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
53: * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
54: * SUCH DAMAGE.
55: */
56:
57: =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
58: o Credit where it's due:
59:
60: This software was originally derived from software contributed
61: to the University of California, Berkeley by Steve Kirkendall,
62: the author of the vi clone elvis. Without his work, this work
63: would have been far more difficult.
64:
65: POSIX 1003.2 style regular expression support is courtesy of
66: Henry Spencer, for which I am *very* grateful.
67:
68: The curses library was originally done by Ken Arnold. Scrolling
69: and general reworking for 4.4BSD was done by Elan Amir.
70:
71: o From the original vi acknowledgements, by William Joy and Mark Horton:
72:
73: Bruce Englar encouraged the early development of this display
74: editor. Peter Kessler helped bring sanity to version 2's
75: command layout. Bill Joy wrote versions 1 and 2.0 through 2.7,
76: and created the framework that users see in the present editor.
77: Mark Horton added macros and other features and made the editor
78: work on a large number of terminals and Unix systems.
79:
80: o And...
81: The financial support of UUNET Communications Services is gratefully
82: acknowledged.
83:
84: =-=-=-=-=-=-=-=-=-=-=
85: o Status:
86:
87: This software is in beta test, and it's pretty stable. Almost all of
88: the historic functionality in ex/vi is there, the only major missing
89: pieces are open mode and the lisp option. (Also, the options hardtabs,
90: optimize, redraw, and slowopen are recognized, but ignored.)
91:
92: Nvi is mostly 8-bit clean. This isn't difficult to fix, and was left
93: in during initial development to keep things simple. Wide character
94: support will be integrated at the same time that it is made fully 8-bit
95: clean.
96:
97: There aren't a lot of new features in nex/nvi, but there are a few things
98: you might like. The "Additional Features" section of the reference page
99: (USD.doc/vi.ref/vi.ref.txt, USD.doc/vi.ref/vi.ref.ps) has more information.
100:
101: =-=-=-=-=-=-=-=-=-=-=
102: o Porting information:
103:
104: The directory "PORT" has directories for specific OS/machine combinations,
105: including V7-style Makefiles, for building nex/nvi on different machines.
106: See the file PORT/README for detailed information.
107:
108: =-=-=-=-=-=-=-=-=-=-=
109: o Debugging:
110:
111: Code fixes are appreciated, of course, but if you can't provide them,
112: please email me as much information as you can as to how to reproduce
113: the bug, and I'll try to fix it locally. Stack traces of core dumps
114: are only rarely helpful -- an example file with a set of keystrokes that
115: causes the problem is almost invariably necessary.
116:
117: Please include the following in the bug report;
118:
119: o The version of nvi you're running (use :version to get it).
120: o The row/column dimensions of the screen (80 x 32).
121: o Unless you're confident that they're not part of the problem,
122: your startup files (.exrc, .nexrc) and the environment variable
123: (EXININT, NEXINIT) values. (Cutting and pasting the output
124: of ":set all" is usually sufficient.)
125:
126: If you're running a memory checker (e.g. Purify) on nvi, you will want
127: to recompile everything with "-DPURIFY" in the CFLAGS, first. By
128: default, allocated pages are not initialized by the DB code, and they
129: will show up as reads of uninitialized memory in the buffer write routines.
130:
131: =-=-=-=-=-=-=-=-=-=-=
132: o Directory layout:
133:
134: nvi/USD.doc:
135: Ex/vi documentation, both historic and current.
136:
137: edit/ Roff source for "Edit: A tutorial", USD:14 in the
138: 4.3BSD manuals.
139: ex/ Roff source for "Ex Reference Manual -- Version
140: 3.7", USD:16 in the 4.3BSD manuals.
141: vi/ Roff source for "An Introduction to Display
142: Editing with Vi", USD:15 in the 4.3BSD manuals.
143: Includes the "Vi Quick Reference" card.
144: vi.man/ Manual page for nex/nvi; an updated version of
145: the document distributed with 4.4BSD-Lite.
146: vi.ref/ Reference document for nex/nvi; an updated version
147: of the document distributed with 4.4BSD-Lite.
148:
149: nvi/common:
150: Source files for pieces of code that are shared by all the editors,
151: like searching and logging code or code translating line numbers
152: into requests to the dbopen(3) database code. It also has the
153: interface code for modifying "records" in the underlying database.
154:
155: nvi/docs:
156: Random nvi documentation:
157:
158: README -- Nvi main README file.
159: bugs.current -- Major known bugs in the current nvi.
160: changelog -- Log of changes from version to version.
161: features -- Todo list, suggested features list.
162: internals/
163: autowrite -- Vi autowrite option discussion.
164: gdb.script -- GDB debugging scripts.
165: input -- Vi maps, executable buffers, and input discussion.
166: quoting -- Vi quoting discussion.
167: structures -- Out-of-date nvi internal structure description.
168: tutorial/ -- Historic vi tutorial(s), of unknown quality.
169:
170: nvi/ex:
171: The ex source code. Because vi has the colon command, lots of
172: this code is used by vi. Generally, if functionality is shared
173: by both ex and vi, it's in nvi/ex. If it's vi only, it's in
174: nvi/vi. Files are generally named by the command(s) they support,
175: but occasionally with a name that describes their functionality.
176:
177: nvi/install:
178: Things to install on the local system.
179:
180: recover.script -- Vi recovery script.
181:
182: nvi/PORT:
183: Porting directories, one per OS/architecture combination. See
184: nvi/PORT/README for porting information.
185:
186: curses/ -- 4.4BSD curses implementation
187: db/ -- 4.4BSD DB routines.
188: regex/ -- Henry Spencer's POSIX.2 RE support.
189:
190: nvi/sex:
191: The screen support for the ex editor.
192:
193: nvi/svi:
194: The screen support for a curses based vi editor.
195:
196: nvi/vi:
197: The vi source code.
198:
199: nvi/xaw:
200: Place reserved for an X11 (Athena Widget) screen.