This commit was generated by cvs2svn to track changes on a CVS vendor
[unix-history] / usr.bin / vi / README
CommitLineData
304585c1 1# @(#)README 8.54 (Berkeley) 3/24/94
0d19c241 2
304585c1
AM
3This is the README for version 1.11 of nex/nvi, a freely redistributable
4replacement for the Berkeley ex and vi text editors. The compressed tar
5archive can be retrieved by anonymous ftp from ftp.cs.berkeley.edu, from
6the file ucb/4bsd/nvi.tar.Z. There is a gzip'd tar archive, nvi.tar.z,
7in the same directory.
0d19c241 8
304585c1
AM
9If you have any questions about nvi, or problems making it work, please
10contact me by electronic mail at one of the following addresses:
0d19c241
JH
11
12 uunet!bostic
13 bostic@cs.berkeley.edu
14
15Keith Bostic
16
17=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
18o Redistribution:
19
304585c1
AM
20This software is copyrighted by the The Regents of the University of
21California, but may be freely redistributed (or sold, or used to line
22your birdcage) under the following conditions:
0d19c241
JH
23
24/*-
304585c1 25 * Copyright (c) 1991, 1993, 1994
0d19c241
JH
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=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
58o 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
71o 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
80o And...
0d19c241
JH
81 The financial support of UUNET Communications Services is gratefully
82 acknowledged.
83
84=-=-=-=-=-=-=-=-=-=-=
304585c1 85o Status:
0d19c241 86
304585c1
AM
87This software is in beta test, and it's believed to be pretty stable.
88Almost all of the historic functionality in ex/vi is there, the missing
89pieces are fairly obscure. In particular, the edcompatible, hardtabs*,
90lisp*, optimize*, redraw*, and slowopen* options are recognized, but not
91implemented.
0d19c241
JH
92
93Nvi is mostly 8-bit clean. This isn't difficult to fix, and was left in
94during initial development to make things easier. Wide character support
95will be integrated at the same time it is made fully 8-bit clean.
96
0d19c241 97There aren't a lot of new features in nex/nvi, but there are a few things
304585c1
AM
98you might like. See the "ADDITIONAL FEATURES" section of the manual page
99(docs/vi.0.txt, docs/vi.0.ps) for a list.
0d19c241
JH
100
101=-=-=-=-=-=-=-=-=-=-=
102o Porting information:
103
304585c1
AM
104The directory PORT has directories per OS/machine combination, with
105V7-style Makefiles which build nex/nvi. See the file PORT/README for
106detailed information.
0d19c241
JH
107
108=-=-=-=-=-=-=-=-=-=-=
304585c1
AM
109o Bug reports:
110
111Code fixes are appreciated, of course, but if you can't provide them,
112please email me as much information as you can as to how to reproduce
113the bug, and I'll try to fix it locally. In particular, the screen
114routines are nasty stuff, and you probably don't want to mess with them.
115Stack traces of core dumps are sometimes helpful, but an example file
116with a set of keystrokes that causes the problem is far better. Also,
117make sure that you include the dimensions of the screen on which the
118problem occurred, your startup files (.exrc, .nexrc), and the environment
119variable (EXINIT, NEXINIT) values.
120
121=-=-=-=-=-=-=-=-=-=-=
122o Layout:
123
124nvi:
125 Source files for pieces of code that are shared by all the
126 editors, like searching and logging code or code translating
127 line numbers into requests to the dbopen(3) database code.
128 It also has the code for adding, deleting, and changing "records"
129 in the underlying database.
0d19c241 130
304585c1
AM
131nvi/PORT:
132 Porting directories, one per OS/architecture combination. See
133 nvi/PORT/README for porting information.
0d19c241
JH
134
135nvi/docs:
304585c1
AM
136 The nvi/docs directory has all of the nvi documentation:
137
138 README -- Nvi main README file.
139 USD.doc -- Historic vi documentation (in roff source form).
140 bugs.current -- Known bugs in the current nvi implementation.
141 changelog -- Log of changes from version to version.
142 features -- Todo list, suggested features list.
143 internals/
144 autowrite -- Vi autowrite option discussion.
145 gdb.script -- GDB debugging scripts.
146 input -- Vi maps, executable buffers, and input discussion.
147 quoting -- Vi quoting discussion.
148 structures -- Nvi internal structure description.
149 spell.ok -- Misspellings list for README, vi.1.
150 tutorial -- Historic vi tutorial
151 vi.0.ps -- PostScript of vi.1.
152 vi.0.txt -- Flat text of vi.1.
153 vi.1 -- Nvi man page (in roff source form).
154 vi.ref -- Nvi reference (in roff source form).
155 vi.ref.ps -- PostScript of vi.ref.
156 vi.ref.txt -- Flat text of vi.ref.
0d19c241
JH
157
158nvi/ex:
159 The nvi/ex directory is the ex source code. Because vi has the
160 colon command, lots of this code is used by vi. Generally, if
161 functionality is shared by both ex and vi, it's in nvi/ex, if
162 it's vi only, it's in nvi/vi. Files are generally named by the
163 command(s) they support, but occasionally with a name that
164 describes their functionality.
165
166nvi/sex:
167 The nvi/sex directory is the screen support for the ex editor.
168
169nvi/svi:
170 The nvi/svi directory is the screen support for a curses based
171 vi editor.
172
173nvi/vi:
174 The nvi/vi directory is the vi source code.
175
176nvi/xaw:
177 Place reserved for an X11 (Athena Widget) screen.