xref: /openbsd/usr.bin/vi/README (revision 83e8f2f0)
1#	$OpenBSD: README,v 1.13 2016/01/06 22:46:59 millert Exp $
2
3#	@(#)README	8.149 (Berkeley) 7/14/97
4
5This is version 1.79 (7/14/97) of nex/nvi, a reimplementation of the ex/vi
6text editors originally distributed as part of the Fourth Berkeley
7Software Distribution (4BSD), by the University of California, Berkeley.
8
9The directory layout is as follows:
10
11    FAQ ................... Frequently asked questions.
12    LAYOUT ................ The layout of the nvi sources.
13    LICENSE ............... Copyright, use and redistribution information.
14    README ................ This file.
15    cl .................... Vi interface to the curses(3) library.
16    common ................ Code shared by ex and vi.
17    docs .................. Ex/vi documentation, both current and historic.
18    docs/USD.doc/edit ..... Edit: A tutorial.
19    docs/USD.doc/exref .... Ex Reference Manual -- Version 3.7.
20    docs/USD.doc/vi.man ... UNIX manual page for nex/nvi.
21    docs/USD.doc/vi.ref ... Nex/nvi reference manual.
22    docs/USD.doc/vitut .... An Introduction to Display Editing with Vi.
23    ex .................... Ex source code.
24    include ............... Replacement include files.
25    vi .................... Vi source code.
26
27Bug fixes and updated versions of this software will periodically be made
28available.  For more information see:
29
30	http://www.bostic.com/vi
31
32To ask questions about vi, report vi problems, request notification of
33future releases and/or bug fixes, or to contact the authors for any reason,
34please send email to:
35
36	bostic@bostic.com
37
38=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
39o This software is several years old and is the product of many folks' work.
40
41	This software was originally derived from software contributed to
42	the University of California, Berkeley by Steve Kirkendall, the
43	author of the vi clone elvis.  Without his work, this work would
44	have been far more difficult.
45
46	IEEE POSIX 1003.2 style regular expression support is courtesy of
47	Henry Spencer, for which I am *very* grateful.
48
49	Elan Amir did the original 4BSD curses work that made it possible
50	to support a full-screen editor using curses.
51
52	George Neville-Neil added the Tcl interpreter, and the initial
53	interpreter design was his.
54
55	Sven Verdoolaege added the Perl interpreter.
56
57	Rob Mayoff provided the original Cscope support.
58
59o Many, many people suggested enhancements, and provided bug reports and
60  testing, far too many to individually thank.
61
62o From the original vi acknowledgements, by William Joy and Mark Horton:
63
64	Bruce Englar encouraged the early development of this display
65	editor.  Peter Kessler helped bring sanity to version 2's
66	command layout.  Bill Joy wrote versions 1 and 2.0 through 2.7,
67	and created the framework that users see in the present editor.
68	Mark Horton added macros and other features and made the editor
69	work on a large number of terminals and Unix systems.
70
71o And...
72	The financial support of UUNET Communications Services is gratefully
73	acknowledged.
74
75=-=-=-=-=-=-=-=-=-=-=
76o Status:
77
78This software is in beta test, and it's pretty stable.  Almost all of the
79historic functionality in ex/vi is there, the only major missing pieces
80are open mode and the lisp edit option.
81
82Nvi is largely 8-bit clean.  This isn't difficult to fix, and was left in
83during initial development to keep things simple.  Wide character support
84will be integrated at the same time that it is made fully 8-bit clean.
85
86There aren't a lot of new features in nex/nvi, but there are a few things
87you might like.  The "Additional Features" section of the reference work
88(docs/USD.doc/vi.ref/vi.ref.txt, docs/USD.doc/vi.ref/vi.ref.ps) has more
89information.
90
91=-=-=-=-=-=-=-=-=-=-=
92o Debugging:
93
94Code fixes are greatly appreciated, of course, but if you can't provide
95them, please email me as much information as you can as to how I might
96reproduce the bug, and I'll try to fix it locally.  Stack traces of core
97dumps are only rarely helpful -- an example file with a set of keystrokes
98that causes the problem is almost invariably necessary.  I know it's
99annoying, but simply playing with the bug until you can reproduce it at
100will, with minimal keystrokes, is immensely helpful to me.
101
102Please include the following in the bug report;
103
104	o The version of nvi you're running (use :version to get it).
105	o The row/column dimensions of the screen (80 x 32).
106	o Unless you're confident that they're not part of the problem,
107	  your startup files (.exrc, .nexrc) and the environment variable
108	  (EXINIT, NEXINIT) values.  (Cutting and pasting the output
109	  of ":set all" is usually sufficient.)
110
111If you want to do your own debugging, recompile the program with DEBUG
112defined.  (Configuring with --enable-debug will do this for you.)  This
113turns on the additional command-line option -D, that takes either s or w
114as an argument.  The option -Ds causes nvi to ignore the EXINIT and
115.exrc files on startup, and -Dw causes nvi to print out the process id
116and wait for you to enter a <carriage-return> to continue.
117
118If you're running a memory checker (e.g. Purify) on nvi, you will first
119want to  recompile everything with "-DPURIFY" set in the CFLAGS.  This
120initializes allocated pages in the DB code, and free's allocated memory
121at the end of the nvi execution.
122