NetBSD/usr.bin/vi
cgd 117a397c4b don't core when a delete comes after a number. from bostic 1994-03-30 01:31:50 +00:00
..
docs nvi 1.11(beta) from bostic. reconcile conflicts/kill rcsids. 1994-03-28 04:28:20 +00:00
ex nvi 1.11(beta) from bostic. reconcile conflicts/kill rcsids. 1994-03-28 04:28:20 +00:00
sex nvi 1.11(beta) from bostic. reconcile conflicts/kill rcsids. 1994-03-28 04:28:20 +00:00
svi nvi 1.11(beta) from bostic. reconcile conflicts/kill rcsids. 1994-03-28 04:28:20 +00:00
vi don't core when a delete comes after a number. from bostic 1994-03-30 01:31:50 +00:00
xaw nvi 1.11(beta) from bostic. reconcile conflicts/kill rcsids. 1994-03-28 04:31:54 +00:00
Makefile nvi 1.11(beta) from bostic. reconcile conflicts/kill rcsids. 1994-03-28 04:27:20 +00:00
README nvi 1.11(beta) from bostic. reconcile conflicts/kill rcsids. 1994-03-28 04:27:20 +00:00
args.h nvi 1.11(beta) from bostic. reconcile conflicts/kill rcsids. 1994-03-28 04:27:20 +00:00
ascii.c nvi 1.11(beta) from bostic. reconcile conflicts/kill rcsids. 1994-03-28 04:27:20 +00:00
cut.c nvi 1.11(beta) from bostic. reconcile conflicts/kill rcsids. 1994-03-28 04:27:20 +00:00
cut.h nvi 1.11(beta) from bostic. reconcile conflicts/kill rcsids. 1994-03-28 04:27:20 +00:00
delete.c nvi 1.11(beta) from bostic. reconcile conflicts/kill rcsids. 1994-03-28 04:27:20 +00:00
exf.c nvi 1.11(beta) from bostic. reconcile conflicts/kill rcsids. 1994-03-28 04:27:20 +00:00
exf.h nvi 1.11(beta) from bostic. reconcile conflicts/kill rcsids. 1994-03-28 04:27:20 +00:00
gs.h nvi 1.11(beta) from bostic. reconcile conflicts/kill rcsids. 1994-03-28 04:27:20 +00:00
intr.c nvi/nex 1.11beta from bostic. 1994-03-28 02:52:06 +00:00
line.c nvi 1.11(beta) from bostic. reconcile conflicts/kill rcsids. 1994-03-28 04:27:20 +00:00
log.c nvi 1.11(beta) from bostic. reconcile conflicts/kill rcsids. 1994-03-28 04:27:20 +00:00
log.h nvi 1.11(beta) from bostic. reconcile conflicts/kill rcsids. 1994-03-28 04:27:20 +00:00
main.c nvi 1.11(beta) from bostic. reconcile conflicts/kill rcsids. 1994-03-28 04:27:20 +00:00
mark.c nvi 1.11(beta) from bostic. reconcile conflicts/kill rcsids. 1994-03-28 04:27:20 +00:00
mark.h nvi 1.11(beta) from bostic. reconcile conflicts/kill rcsids. 1994-03-28 04:27:20 +00:00
mem.h nvi 1.11(beta) from bostic. reconcile conflicts/kill rcsids. 1994-03-28 04:27:20 +00:00
msg.h nvi 1.11(beta) from bostic. reconcile conflicts/kill rcsids. 1994-03-28 04:27:20 +00:00
options.c nvi 1.11(beta) from bostic. reconcile conflicts/kill rcsids. 1994-03-28 04:27:20 +00:00
options.h.stub nvi 1.11(beta) from bostic. reconcile conflicts/kill rcsids. 1994-03-28 04:27:20 +00:00
options_f.c nvi 1.11(beta) from bostic. reconcile conflicts/kill rcsids. 1994-03-28 04:27:20 +00:00
pathnames.h nvi 1.11(beta) from bostic. reconcile conflicts/kill rcsids. 1994-03-28 04:27:20 +00:00
put.c nvi/nex 1.11beta from bostic. 1994-03-28 02:52:06 +00:00
recover.c nvi 1.11(beta) from bostic. reconcile conflicts/kill rcsids. 1994-03-28 04:27:20 +00:00
screen.c nvi 1.11(beta) from bostic. reconcile conflicts/kill rcsids. 1994-03-28 04:27:20 +00:00
screen.h nvi 1.11(beta) from bostic. reconcile conflicts/kill rcsids. 1994-03-28 04:27:20 +00:00
search.c nvi 1.11(beta) from bostic. reconcile conflicts/kill rcsids. 1994-03-28 04:27:20 +00:00
search.h nvi 1.11(beta) from bostic. reconcile conflicts/kill rcsids. 1994-03-28 04:27:20 +00:00
seq.c nvi 1.11(beta) from bostic. reconcile conflicts/kill rcsids. 1994-03-28 04:27:20 +00:00
seq.h nvi 1.11(beta) from bostic. reconcile conflicts/kill rcsids. 1994-03-28 04:27:20 +00:00
term.c nvi 1.11(beta) from bostic. reconcile conflicts/kill rcsids. 1994-03-28 04:27:20 +00:00
term.h nvi 1.11(beta) from bostic. reconcile conflicts/kill rcsids. 1994-03-28 04:27:20 +00:00
timer.c nvi 1.11(beta) from bostic. reconcile conflicts/kill rcsids. 1994-03-28 04:27:20 +00:00
trace.c nvi 1.11(beta) from bostic. reconcile conflicts/kill rcsids. 1994-03-28 04:27:20 +00:00
util.c nvi 1.11(beta) from bostic. reconcile conflicts/kill rcsids. 1994-03-28 04:27:20 +00:00
vi.h nvi 1.11(beta) from bostic. reconcile conflicts/kill rcsids. 1994-03-28 04:27:20 +00:00

README

#	@(#)README	8.54 (Berkeley) 3/24/94

This is the README for version 1.11 of nex/nvi, a freely redistributable
replacement for the Berkeley ex and vi text editors.  The compressed tar
archive can be retrieved by anonymous ftp from ftp.cs.berkeley.edu, from
the file ucb/4bsd/nvi.tar.Z.  There is a gzip'd tar archive, nvi.tar.z,
in the same directory.

If you have any questions about nvi, or problems making it work, please
contact me by electronic mail at one of the following addresses:

	uunet!bostic
	bostic@cs.berkeley.edu

Keith Bostic

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
o Redistribution:

This software is copyrighted by the The Regents of the University of
California, but may be freely redistributed (or sold, or used to line
your birdcage) under the following conditions:

/*-
 * Copyright (c) 1991, 1993, 1994
 *	The Regents of the University of California.  All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in the
 *    documentation and/or other materials provided with the distribution.
 * 3. All advertising materials mentioning features or use of this software
 *    must display the following acknowledgement:
 *	This product includes software developed by the University of
 *	California, Berkeley and its contributors.
 * 4. Neither the name of the University nor the names of its contributors
 *    may be used to endorse or promote products derived from this software
 *    without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 * SUCH DAMAGE.
 */

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
o Credit where it's due:

	This software was originally derived from software contributed
	to the University of California, Berkeley by Steve Kirkendall,
	the author of the vi clone elvis.  Without his work, this work
	would have been far more difficult.

	POSIX 1003.2 style regular expression support is courtesy of
	Henry Spencer, for which I am *very* grateful.

	The curses library was originally done by Ken Arnold.  Scrolling
	and general reworking for 4.4BSD was done by Elan Amir.

o From the original vi acknowledgements, by William Joy and Mark Horton:

	Bruce Englar encouraged the early development of this display
	editor.  Peter Kessler helped bring sanity to version 2's
	command layout.  Bill Joy wrote versions 1 and 2.0 through 2.7,
	and created the framework that users see in the present editor.
	Mark Horton added macros and other features and made the editor
	work on a large number of terminals and Unix systems.

o And...
	The financial support of UUNET Communications Services is gratefully
	acknowledged.

=-=-=-=-=-=-=-=-=-=-=
o Status:

This software is in beta test, and it's believed to be pretty stable.
Almost all of the historic functionality in ex/vi is there, the missing
pieces are fairly obscure.  In particular, the edcompatible, hardtabs*,
lisp*, optimize*, redraw*, and slowopen* options are recognized, but not
implemented.

Nvi is mostly 8-bit clean.  This isn't difficult to fix, and was left in
during initial development to make things easier.  Wide character support
will be integrated at the same time it is made fully 8-bit clean.

There aren't a lot of new features in nex/nvi, but there are a few things
you might like.  See the "ADDITIONAL FEATURES" section of the manual page
(docs/vi.0.txt, docs/vi.0.ps) for a list.

=-=-=-=-=-=-=-=-=-=-=
o Porting information:

The directory PORT has directories per OS/machine combination, with
V7-style Makefiles which build nex/nvi.  See the file PORT/README for
detailed information.

=-=-=-=-=-=-=-=-=-=-=
o Bug reports:

Code fixes are appreciated, of course, but if you can't provide them,
please email me as much information as you can as to how to reproduce
the bug, and I'll try to fix it locally.  In particular, the screen
routines are nasty stuff, and you probably don't want to mess with them.
Stack traces of core dumps are sometimes helpful, but an example file
with a set of keystrokes that causes the problem is far better.  Also,
make sure that you include the dimensions of the screen on which the
problem occurred, your startup files (.exrc, .nexrc), and the environment
variable (EXINIT, NEXINIT) values.

=-=-=-=-=-=-=-=-=-=-=
o Layout:

nvi:
	Source files for pieces of code that are shared by all the
	editors, like searching and logging code or code translating
	line numbers into requests to the dbopen(3) database code.
	It also has the code for adding, deleting, and changing "records"
	in the underlying database.

nvi/PORT:
	Porting directories, one per OS/architecture combination.  See
	nvi/PORT/README for porting information.

nvi/docs:
	The nvi/docs directory has all of the nvi documentation:

	README		-- Nvi main README file.
	USD.doc		-- Historic vi documentation (in roff source form).
	bugs.current	-- Known bugs in the current nvi implementation.
	changelog	-- Log of changes from version to version.
	features	-- Todo list, suggested features list.
	internals/
	    autowrite	-- Vi autowrite option discussion.
	    gdb.script	-- GDB debugging scripts.
	    input	-- Vi maps, executable buffers, and input discussion.
	    quoting	-- Vi quoting discussion.
	    structures	-- Nvi internal structure description.
	spell.ok	-- Misspellings list for README, vi.1.
	tutorial	-- Historic vi tutorial
	vi.0.ps		-- PostScript of vi.1.
	vi.0.txt	-- Flat text of vi.1.
	vi.1		-- Nvi man page (in roff source form).
	vi.ref		-- Nvi reference (in roff source form).
	vi.ref.ps	-- PostScript of vi.ref.
	vi.ref.txt	-- Flat text of vi.ref.

nvi/ex:
	The nvi/ex directory is the ex source code.  Because vi has the
	colon command, lots of this code is used by vi.  Generally, if
	functionality is shared by both ex and vi, it's in nvi/ex, if
	it's vi only, it's in nvi/vi.  Files are generally named by the
	command(s) they support, but occasionally with a name that
	describes their functionality.

nvi/sex:
	The nvi/sex directory is the screen support for the ex editor.

nvi/svi:
	The nvi/svi directory is the screen support for a curses based
	vi editor.

nvi/vi:
	The nvi/vi directory is the vi source code.

nvi/xaw:
	Place reserved for an X11 (Athena Widget) screen.