[BACK]Return to FAQ CVS log [TXT][DIR] Up to [local] / src / usr.bin / vi

Diff for /src/usr.bin/vi/FAQ between version 1.1 and 1.2

version 1.1, 1996/05/22 11:33:09 version 1.2, 1996/08/16 17:58:11
Line 1 
Line 1 
 @(#)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?  Q: How can I get vi to display my character set?
 A: Nvi uses the C library routine isprint(3) to determine if a character  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     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.     in octal/hexadecimal forms, your environment is not configured correctly.
    Try looking at the man pages that allow you to configure your locale.     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,     For example, to configure an ISO 8859-1 locale under Solaris using csh,
Line 27 
Line 27 
    is if depends on the final cursor position after a P or p command.     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,     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     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     the POSIX 1003.2 standard on this one, and makes this consistent, always
    placing the cursor on the first character.     placing the cursor on the first character.
   
Line 49 
Line 49 
    it will be treated case-sensitively, as if the ignorecase edit option     it will be treated case-sensitively, as if the ignorecase edit option
    was not set.     was not set.
   
 Q: When I edit binary files, nvi appends a <newline> to the last line!  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  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     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     edit option to turn this behavior off when I switch to version 2.0 of
Line 63 
Line 63 
    vi to wait longer before deciding that the <escape> character that     vi to wait longer before deciding that the <escape> character that
    starts cursor key sequences doesn't have any characters following it.     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.  Q: When I edit some files, vi 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  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     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     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.     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.

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.2