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