diff options
Diffstat (limited to 'contrib/nvi/FAQ')
-rw-r--r-- | contrib/nvi/FAQ | 160 |
1 files changed, 160 insertions, 0 deletions
diff --git a/contrib/nvi/FAQ b/contrib/nvi/FAQ new file mode 100644 index 0000000..357650a --- /dev/null +++ b/contrib/nvi/FAQ @@ -0,0 +1,160 @@ +@(#)FAQ 8.13 (Berkeley) 10/14/96 + +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 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, + you would do: + + setenv LANG C + setenv LC_CTYPE iso_8859_1 + + Other LC_CTYPE systems/values that I'm told work: + + System Value + ====== ===== + FreeBSD lt_LN.ISO_8859-1 + HP-UX 9.X american.iso88591 + HP-UX 10.X en_US.iso88591 + SunOS 4.X iso_8859_1 + SunOS 5.X iso_8859_1 + + If there's no other solution, you can use the print and noprint edit + options of vi to specify that a specific character is printable or not + printable. + +Q: My map won't work! +A: One thing that you should immediately check if a vi map doesn't work + 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! Vi follows + the POSIX 1003.2 standard on this one, and makes this consistent, always + placing the cursor on the first character. + +Q: I'm using ksh or csh as my vi edit option shell value, and file + expansions don't work right! +A: The problem may be in your ksh or csh startup files, e.g., .cshrc. Vi + executes the shell to do name expansion, and the shell generally reads + its startup files. If the startup files are not correctly configured + for non-interactive use, e.g., they always echo a prompt to the screen, + vi will be unable to parse the output and things will not work + correctly. + +Q: How does the iclower edit option differ from the ignorecase (i.e. ic) + edit option? +A: The difference is that the ignorecase edit option always ignores the + case of letters in the Regular Expression (RE), and the iclower edit + option only ignores the case if there are no upper-case letters in the + RE. If any upper-case letters appear in the Regular Expression, then + it will be treated case-sensitively, as if the ignorecase edit option + was not set. + +Q: When I edit binary files, vi appends a <newline> 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 + the Berkeley DB package. + +Q: My cursor keys don't work when I'm in text input mode! +A: A common problem over slow links is that the set of characters sent by + the cursor keys don't arrive close enough together for vi to understand + that they are a single keystroke, and not separate keystrokes. Try + increasing the value of the escapetime edit option, which will cause + vi to wait longer before deciding that the <escape> character that + starts cursor key sequences doesn't have any characters following it. + +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 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 replacement 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. + +Q: Where can I get cscope? +A: Cscope is available on UNIXWare System V Release 4.0 variants such as + Sun Solaris 2.x (/opt/SUNWspro/bin) and UNIXWare System V Release 4.1. + + You can buy version 13.3 source with an unrestricted license for $400 + from AT&T Software Solutions by calling +1-800-462-8146. Binary + redistribution of cscope is an additional $1500, one-time flat fee. + + For more information, see http://www.unipress.com/att/new/cscope.html. |