Annotation of src/usr.bin/vi/README, Revision 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.