1# @(#)README 8.147 (Berkeley) 10/19/96 2 3This is the README for nex/nvi, a freely redistributable implementation 4of the ex/vi text editors originally distributed as part of the Fourth 5Berkeley Software Distribution (4BSD), by the University of California, 6Berkeley. 7 8The source code for nex/nvi can be retrieved by using anonymous ftp to 9ftp.cs.berkeley.edu. The file ucb/4bsd/nvi.tar.gz is the gzip'd archive, 10of version 1.71 of nex/nvi. This version is believed to be stable and 11problem free. The file ucb/4bsd/nvi-###.ALPHA.tar.gz is a gzip'd archive 12of the current alpha-test release of nex/nvi. This version reflects the 13current development tree, and will be more likely to have problems. 14 15See the file: 16 build/README for information on building nvi. 17 LAYOUT for a description of where everything is. 18 LICENSE for the copyright and redistribution terms. 19 20If you have any questions about nex/nvi, problems with it, or concerns 21about the conditions for redistribution, please contact me: 22 23 Keith Bostic +1-508-287-4781 24 394 E. Riding Dr. bostic@bostic.com 25 Carlisle, MA 01741 26 USA 27 28Keith Bostic 29 30=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= 31o This software is several years old and is the product of many folks' work. 32 33 This software was originally derived from software contributed to 34 the University of California, Berkeley by Steve Kirkendall, the 35 author of the vi clone elvis. Without his work, this work would 36 have been far more difficult. 37 38 IEEE POSIX 1003.2 style regular expression support is courtesy of 39 Henry Spencer, for which I am *very* grateful. 40 41 Elan Amir did the original 4BSD curses work that made it possible 42 to support a full-screen editor using curses. 43 44 George Neville-Neil added the Tcl interpreter, and the initial 45 interpreter design was his. 46 47 Sven Verdoolaege added the Perl interpreter. 48 49 Rob Mayoff provided the original Cscope support. 50 51o Many, many people suggested enhancements, and provided bug reports and 52 testing, far too many to individually thank. 53 54o From the original vi acknowledgements, by William Joy and Mark Horton: 55 56 Bruce Englar encouraged the early development of this display 57 editor. Peter Kessler helped bring sanity to version 2's 58 command layout. Bill Joy wrote versions 1 and 2.0 through 2.7, 59 and created the framework that users see in the present editor. 60 Mark Horton added macros and other features and made the editor 61 work on a large number of terminals and Unix systems. 62 63o And... 64 The financial support of UUNET Communications Services is gratefully 65 acknowledged. 66 67=-=-=-=-=-=-=-=-=-=-= 68o Status: 69 70This software is in beta test, and it's pretty stable. Almost all of the 71historic functionality in ex/vi is there, the only major missing pieces 72are open mode and the lisp edit option. 73 74Nvi is largely 8-bit clean. This isn't difficult to fix, and was left in 75during initial development to keep things simple. Wide character support 76will be integrated at the same time that it is made fully 8-bit clean. 77 78There aren't a lot of new features in nex/nvi, but there are a few things 79you might like. The "Additional Features" section of the reference work 80(docs/USD.doc/vi.ref/vi.ref.txt, docs/USD.doc/vi.ref/vi.ref.ps) has more 81information. 82 83=-=-=-=-=-=-=-=-=-=-= 84o Debugging: 85 86Code fixes are greatly appreciated, of course, but if you can't provide 87them, please email me as much information as you can as to how I might 88reproduce the bug, and I'll try to fix it locally. Stack traces of core 89dumps are only rarely helpful -- an example file with a set of keystrokes 90that causes the problem is almost invariably necessary. I know it's 91annoying, but simply playing with the bug until you can reproduce it at 92will, with minimal keystrokes, is immensely helpful to me. 93 94Please include the following in the bug report; 95 96 o The version of nvi you're running (use :version to get it). 97 o The row/column dimensions of the screen (80 x 32). 98 o Unless you're confident that they're not part of the problem, 99 your startup files (.exrc, .nexrc) and the environment variable 100 (EXINIT, NEXINIT) values. (Cutting and pasting the output 101 of ":set all" is usually sufficient.) 102 103If you want to do your own debugging, recompile the program with DEBUG 104defined. (Configuring with --enable-debug will do this for you.) This 105turns on the additional command-line option -D, that takes either s or w 106as an argument. The option -Ds causes nvi to ignore the EXINIT and 107.exrc files on startup, and -Dw causes nvi to print out the process id 108and wait for you to enter a <carriage-return> to continue. 109 110If you're running a memory checker (e.g. Purify) on nvi, you will first 111want to recompile everything with "-DPURIFY" set in the CFLAGS. This 112initializes allocated pages in the DB code, and free's allocated memory 113at the end of the nvi execution. 114