=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/vi/FAQ,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- src/usr.bin/vi/FAQ 1996/05/22 11:33:09 1.1 +++ src/usr.bin/vi/FAQ 1996/08/16 17:58:11 1.2 @@ -1,9 +1,9 @@ -@(#)FAQ 8.5 (Berkeley) 5/9/96 +@(#)FAQ 8.10 (Berkeley) 8/10/96 -Q: How can I get nvi to display my character set? -A: Nvi uses the C library routine isprint(3) to determine if a character +Q: How can I get vi to display my character set? +A: Vi uses the C library routine isprint(3) to determine if a character is printable, or should be displayed as an octal or hexadecimal value - on the screen. Generally, if nvi is displaying printable characters + on the screen. Generally, if vi is displaying printable characters in octal/hexadecimal forms, your environment is not configured correctly. Try looking at the man pages that allow you to configure your locale. For example, to configure an ISO 8859-1 locale under Solaris using csh, @@ -27,7 +27,7 @@ is if depends on the final cursor position after a P or p command. Historic vi's were inconsistent as to the final position of the cursor, and, to make matter worse, the final cursor position also depended on - whether the put text came from a named or unnamed buffer! Nvi follows + whether the put text came from a named or unnamed buffer! Vi follows the POSIX 1003.2 standard on this one, and makes this consistent, always placing the cursor on the first character. @@ -49,7 +49,7 @@ it will be treated case-sensitively, as if the ignorecase edit option was not set. -Q: When I edit binary files, nvi appends a to the last line! +Q: When I edit binary files, vi appends a to the last line! A: This is historic practice for vi, and further, it's required by the POSIX 1003.2 standard. My intent is to provide a command line and/or edit option to turn this behavior off when I switch to version 2.0 of @@ -63,9 +63,84 @@ vi to wait longer before deciding that the character that starts cursor key sequences doesn't have any characters following it. -Q: When I edit some files, nvi seems to hang forever, and I have to kill it. -A: Nvi uses flock(2) and fcntl(2) to do file locking. When it attempts to +Q: When I edit some files, vi seems to hang forever, and I have to kill it. +A: Vi uses flock(2) and fcntl(2) to do file locking. When it attempts to acquired a lock for a file on an NFS mounted filesystem, it can hang for a very long (perhaps infinite) period of time. Turning off the - "lock" edit option will keep nvi from attempting to acquire any locks + "lock" edit option will keep vi from attempting to acquire any locks on the files you edit. + +Q: When I compile vi I get lots of warnings about pointer assignments + being incompatible! +A: Vi is partially written to support wide characters. When this code + interfaces with the code that doesn't yet support wide characters, + the pointer types clash. This will hopefully be fixed in the near + future, but I've been saying that for awhile, now. + +Q: I get jumpy scrolling behavior in the screen! +A: This is almost certainly a problem with the system's terminfo or + termcap information for your terminal. If the terminfo/termcap entry + doesn't have the settable scrolling region capabilities, or the more + powerful scrolling commands, these behaviors can result. Historic + implementations of vi, and some of the vi clones, don't suffer from + this problem because they wrote their own screen support instead of + using the curses library. + + The solution is to find a good terminfo or termcap entry for your + terminal, which will fix the problem for all of the applications on + your system, not just vi. Eric Raymond maintains the freely + redistributable termcap/terminfo entries. They can be downloaded + from http://www.ccil.org/~esr/ncurses.html, or you can contact him + at esr@snark.thyrsus.com. + +Q: The entire screen repaints on every keystroke! +A: Your system's curses implementation is broken. You should use the + curses implementation provided with vi or a curses replacment such as + ncurses. Eric Raymond is one of the maintainers of the freely + redistributable ncurses package. You can download ncurses from + http://www.ccil.org/~esr/ncurses.html, or you can contact him at + esr@snark.thyrsus.com. + +Q: When I use vi on a Sun console (terminal type sun-34) the screen + is occasionally trashed, usually when exiting vi! +A: The Sun console can't handle the 'al' capability of the termcap + entry (the il1 capability of terminfo entries). If you delete that + entry from your terminfo/termcap information everything should work + correctly. + +Q: I don't have a version of ctags (or I have ctags, but it doesn't tag + nearly enough things)! +A: There's a version of ctags available on the 4.4BSD-Lite distributions, + as well as the FreeBSD, NetBSD, Linux and GNU distributions. Or, you + might want to try Exuberant Ctags: + + Title: Exuberant Ctags + Version: 1.3 + Entered-date: 16JUN96 + Description: + A better ctags which generates tags for all possible tag types: + macro definitions, enumerated values (values inside enum{...}), + function and method definitions, enum/struct/union tags, external + function prototypes (optional), typedefs, and variable + declarations. It is far less easily fooled by code containing #if + preprocessor conditional constructs, using a conditional path + selection algorithm to resolve complicated choices, and a + fall-back algorithm when this one fails. Can also be used to print + out a list of selected objects found in source files. + Keywords: ctags, tags, exuberant + Author: darren@sirsi.com (Darren Hiebert) + darren@hiwaay.net (Darren Hiebert) + Maintained-by: darren@sirsi.com (Darren Hiebert) + darren@hiwaay.net (Darren Hiebert) + Primary-site: sunsite.unc.edu /pub/Linux/devel/lang/c + 27kB ctags-1.3.tar.gz + Alternate-site: ftp.halcyon.com /local/gvr + 27kB ctags-1.3.tar.gz + Original-site: + Platforms: UNIX, MSDOS, WindowsNT, Windows95, OS/2, Amiga + Copying-policy: Public domain + +Q: When I update a file I already have open, and use :e to reread it, I + get nul's for the rest of the file! +A: Your system's implementation of mmap(2) has a bug; you will have to + exit vi and re-execute it.