Man Page vim.1




NAME

     vim - Vi IMproved, a programmers text editor


SYNOPSIS

     vim [options] [file ..]
     vim [options] -
     vim [options] -t tag
     vim [options] -q [errorfile]

     ex
     view
     gvim gview
     rvim rview rgvim rgview


DESCRIPTION

     Vim is a text editor that is upwards compatible to  Vi.   It
     can be used to edit any ASCII text.  It is especially useful
     for editing programs.

     There are a lot of enhancements above Vi: multi level  undo,
     multi windows and buffers, syntax highlighting, command line
     editing, filename completion, on-line  help,  visual  selec-
     tion,  etc..   See  ":help  vi_diff"  for  a  summary of the
     differences between Vim and Vi.

     While running Vim a lot of help can  be  obtained  from  the
     on-line  help system, with the ":help" command.  See the ON-
     LINE HELP section below.

     Most often Vim is started to edit a  single  file  with  the
     command

          vim file

     More generally Vim is started with:

          vim [options] [filelist]

     If the filelist is missing, the editor will  start  with  an
     empty  buffer.   Otherwise  exactly one out of the following
     four may be used to choose one or more files to be edited.

     file ..     A list of filenames.  The first one will be  the
                 current file and read into the buffer.  The cur-
                 sor will be positioned on the first line of  the
                 buffer.  You can get to the other files with the
                 ":next" command.  To edit  a  file  that  starts
                 with a dash, precede the filelist with "--".

     -           The file to edit is read from  stdin.   Commands
                 are read from stderr, which should be a tty.

     -t {tag}    The file to edit and the initial cursor position
                 depends on a "tag", a sort of goto label.  {tag}
                 is looked up in the tags  file,  the  associated
                 file becomes the current file and the associated
                 command is executed.  Mostly this is used for  C
                 programs,  in  which case {tag} could be a func-
                 tion name.  The effect is that the file contain-
                 ing  that  function becomes the current file and
                 the cursor is positioned on  the  start  of  the
                 function.  See ":help tag_commands".

     -q [errorfile]
                 Start in quickFix mode.  The file [errorfile] is
                 read  and  the  first  error  is  displayed.  If
                 [errorfile] is omitted, the filename is obtained
                 from   the   'errorfile'   option  (defaults  to
                 "AztecC.Err"  for  the  Amiga,  "errors.vim"  on
                 other systems).  Further errors can be jumped to
                 with the ":cn" command.  See ":help quickfix".

     Vim behaves differently, depending on the name of  the  com-
     mand (the executable may still be the same file).

     vim       The "normal" way, everything is default.

     ex        Start in Ex mode.  Go  to  Normal  mode  with  the
               ":vi"  command.   Can  also  be done with the "-e"
               argument.

     view      Start in read-only mode.  You  will  be  protected
               from writing the files.  Can also be done with the
               "-R" argument.

     gvim gview
               The GUI version.  Starts a new window.   Can  also
               be done with the "-g" argument.

     rvim rview rgvim rgview
               Like the above, but with  restrictions.   It  will
               not  be  possible  to  start  shell  commands,  or
               suspend Vim. Can also be done with the "-Z"  argu-
               ment.


OPTIONS

     The options may be given  in  any  order,  before  or  after
     filenames.   Options  without  an  argument  can be combined
     after a single dash.

     +[num]      For the first file the cursor will be positioned
                 on  line "num".  If "num" is missing, the cursor
                 will be positioned on the last line.

     +/{pat}     For the first file the cursor will be positioned
                 on  the  first  occurrence of {pat}.  See ":help
                 search_pattern" for the  available  search  pat-
                 terns.

     +{command}

     -c {command}
                 {command} will be executed after the first  file
                 has  been  read.  {command} is interpreted as an
                 Ex command.  If the {command} contains spaces it
                 must  be enclosed in double quotes (this depends
                 on the shell that is used).  Example: Vim  "+set
                 si" main.c
                 Note: You can use up to 10 "+" or "-c" commands.

     -b          Binary mode.  A few options  will  be  set  that
                 makes it possible to edit a binary or executable
                 file.

     -C          Compatible.  Set the 'compatible' option.   This
                 will make Vim behave mostly like Vi, even though
                 a .vimrc file exists.

     -d {device} Open {device} for use as a  terminal.   Only  on
                 the Amiga.  Example:  "-d con:20/30/600/150".

     -e          Start Vim in Ex mode, just like  the  executable
                 was called "ex".

     -f          Foreground.  For the GUI version, Vim  will  not
                 fork  and  detach  from the shell it was started
                 in.  On the Amiga, Vim is not restarted to  open
                 a  new  window.  This option should be used when
                 Vim is executed by a program that will wait  for
                 the  edit session to finish (e.g. mail).  On the
                 Amiga the ":sh" and ":!" commands will not work.

     -F          If Vim has been compiled with FKMAP support  for
                 editing  right-to-left  oriented files and Farsi
                 keyboard mapping,  this  option  starts  Vim  in
                 Farsi  mode,  i.e.  'fkmap'  and 'rightleft' are
                 set.  Otherwise an error message  is  given  and
                 Vim aborts.

     -g          If Vim has been compiled with GUI support,  this
                 option  enables  the GUI.  If no GUI support was
                 compiled in, an error message is given  and  Vim
                 aborts.

     -h          Give a bit of help about the command line  argu-
                 ments and options.  After this Vim exits.

     -H          If Vim has been compiled with RIGHTLEFT  support
                 for  editing  right-to-left  oriented  files and
                 Hebrew keyboard mapping, this option starts  Vim
                 in Hebrew mode, i.e. 'hkmap' and 'rightleft' are
                 set.  Otherwise an error message  is  given  and
                 Vim aborts.

     -i {viminfo}
                 When using the viminfo  file  is  enabled,  this
                 option  sets the filename to use, instead of the
                 default "~/.viminfo".  This can also be used  to
                 skip the use of the .viminfo file, by giving the
                 name "NONE".

     -L          Same as -r.

     -l          Lisp mode.   Sets  the  'lisp'  and  'showmatch'
                 options on.

     -N          No-compatible  mode.   Reset  the   'compatible'
                 option.  This will make Vim behave a bit better,
                 but less Vi compatible,  even  though  a  .vimrc
                 file does not exist.

     -n          No swap file will be  used.   Recovery  after  a
                 crash  will be impossible.  Handy if you want to
                 edit a file on a very slow medium (e.g. floppy).
                 Can  also  be  done  with  ":set  uc=0".  Can be
                 undone with ":set uc=200".

     -o[N]       Open N windows.  When N  is  omitted,  open  one
                 window for each file.

     -R          Read-only mode.  The 'readonly' option  will  be
                 set.  You can still edit the buffer, but will be
                 prevented from accidently  overwriting  a  file.
                 If  you do want to overwrite a file, add an exc-
                 lamation mark to the Ex command,  as  in  ":w!".
                 The  -R  option  also implies the -n option (see
                 below).  The 'readonly' option can be reset with
                 ":set noro".  See ":help 'readonly'".

     -r          List swap files, with  information  about  using
                 them for recovery.

     -r {file}   Recovery mode.  The swap file is used to recover
                 a  crashed  editing session.  The swap file is a
                 file with the same filename  as  the  text  file
                 with ".swp" appended.  See ":help recovery".

     -s          Silent mode.  Only when started as "Ex" or  when
                 the  "-e"  option  was  given  before  the  "-s"
                 option.

     -s {scriptin}
                 The script file {scriptin} is read.  The charac-
                 ters  in  the file are interpreted as if you had
                 typed them.  The same can be done with the  com-
                 mand  ":source!  {scriptin}".  If the end of the
                 file is reached before the editor exits, further
                 characters are read from the keyboard.

     -T {terminal}
                 Tells Vim the  name  of  the  terminal  you  are
                 using.   Only  required  when  the automatic way
                 doesn't work.  Should be a terminal known to Vim
                 (builtin)  or defined in the termcap or terminfo
                 file.

     -u {vimrc}  Use the commands in the file  {vimrc}  for  ini-
                 tializations.  All the other initializations are
                 skipped.  Use this to edit  a  special  kind  of
                 files.  It can also be used to skip all initial-
                 izations by giving the name "NONE".  See  ":help
                 initialization" within vim for more details.

     -U {gvimrc} Use the commands in the file  {gvimrc}  for  GUI
                 initializations.   All the other GUI initializa-
                 tions are skipped.  It can also be used to  skip
                 all  GUI  initializations  by  giving  the  name
                 "NONE".  See ":help  gui_init"  within  vim  for
                 more details.

     -V          Verbose.  Give messages about  which  files  are
                 sourced  and  for  reading and writing a viminfo
                 file.

     -v          Start Vim in Vi mode, just like  the  executable
                 was  called "vi".  This only has effect when the
                 executable is called "ex".

     -w {scriptout}
                 All the characters that you type are recorded in
                 the  file  {scriptout}, until you exit Vim. This
                 is useful if you want to create a script file to
                 be  used  with  "vim  -s" or ":source!".  If the
                 {scriptout}   file   exists,   characters    are
                 appended.

     -W {scriptout}
                 Like -w, but an existing file is overwritten.

     -x          Filter read and  written  files  through  crypt.
                 Not implemented yet.

     -Z          Restricted  mode.   Works  like  the  executable
                 starts with "r".

     --          Denotes the end of the options.  Arguments after
                 this  will  be handled as a file name.  This can
                 be used to edit a filename that  starts  with  a
                 '-'.


ON-LINE HELP

     Type ":help" in Vim to get started.  Type ":help subject" to
     get  help on a specific subject.  For example: ":help ZZ" to
     get help for the "ZZ" command.  Use <Tab> and CTRL-D to com-
     plete   subjects  (":help  cmdline_completion").   Tags  are
     present to jump from one place to another (sort of hypertext
     links,  see ":help").  All documentation files can be viewed
     in this way, for example ":help syntax.txt".


FILES

     /usr/local/lib/vim/doc/*.txt
                    The  Vim  documentation  files.   Use  ":help
                    doc-file-list" to get the complete list.

     /usr/local/lib/vim/doc/tags
                    The tags file used for finding information in
                    the documentation files.

     /usr/local/lib/vim/syntax/syntax.vim
                    System wide syntax initializations.

     /usr/local/lib/vim/syntax/*.vim
                    Syntax files for various languages.

     /usr/local/lib/vim/vimrc
                    System wide Vim initializations.

     /usr/local/lib/vim/gvimrc
                    System wide gvim initializations.

     /usr/local/lib/vim/menu.vim
                    System wide menu initializations for gvim.

     /usr/local/lib/vim/bugreport.vim
                    Script to generate a bug report.  See  ":help
                    bugs".

     For recent info read the VIM home page:
     <URL:http://www.vim.org/>


AUTHOR

     Most of Vim was made by Bram Moolenaar, with a lot  of  help
     from others.  See ":help credits".
     Vim is based on Stevie, worked on  by:  Tim  Thompson,  Tony
     Andrews  and G.R. (Fred) Walter.  Although hardly any of the
     original code remains.


BUGS

     Probably.  See ":help todo" for a list of known problems.

     Note that a number of things that may be regarded as bugs by
     some,  are  in fact caused by a too-faithful reproduction of
     Vi's behaviour.  And if you  think  other  things  are  bugs
     "because  Vi  does it differently", you should take a closer
     look at the vi_diff.txt file (or type :help vi_diff.txt when
     in  Vim).   Also  have a look at the 'compatible' and 'cpop-
     tions' options.