VIM(1)                                                                    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 evim eview
       rvim rview rgvim rgview

DESCRIPTION
       Vim is a text editor that is upwards compatible to Vi.  It can be used to
       edit all kinds of plain text.  It is especially useful for  editing  pro‐
       grams.

       There are a lot of enhancements above Vi: multi level undo, multi windows
       and buffers, syntax highlighting, command line editing, filename  comple‐
       tion,  on-line help, visual selection, etc..  See ":help vi_diff.txt" 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 cursor 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 function name.   The
                   effect  is that the file containing 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.err" 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 command  (the  exe‐
       cutable 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.

       evim eview
                 The GUI version in easy mode.  Starts a new window.   Can  also
                 be done with the "-y" 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" argument.

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 patterns.

       +{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.

       -S {file}   {file} will be sourced after the first file  has  been  read.
                   This  is  equivalent  to  -c  "source {file}".  {file} cannot
                   start with '-'.  If {file} is omitted "Session.vim"  is  used
                   (only works when -S is the last argument).

       --cmd {command}
                   Like using "-c", but the command is executed just before pro‐
                   cessing any vimrc file.  You can use up to 10 of  these  com‐
                   mands, independently from "-c" commands.

       -A          If  Vim  has  been  compiled  with ARABIC support for editing
                   right-to-left oriented files  and  Arabic  keyboard  mapping,
                   this  option starts Vim in Arabic mode, i.e. 'arabic' is set.
                   Otherwise an error message is given and Vim aborts.

       -b          Binary mode.  A few options will be set that makes it  possi‐
                   ble 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          Start in diff mode.  There should be two, three or four  file
                   name arguments.  Vim will open all the files and show differ‐
                   ences between them.  Works like vimdiff(1).

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

       -D          Debugging.   Go  to  debugging  mode when executing the first
                   command from a script.

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

       -E          Start  Vim  in improved Ex mode, just like the executable was
                   called "exim".

       -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.

       --nofork    Foreground.   For  the  GUI  version,  Vim  will not fork and
                   detach from the shell it was started in.

       -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 arguments 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.

       -m          Modifying files is disabled.  Resets the 'write' option.  You
                   can still modify the buffer, but writing a file is not possi‐
                   ble.

       -M          Modifications  not  allowed.   The  'modifiable'  and 'write'
                   options will be unset, so that changes are  not  allowed  and
                   files can not be written.  Note that these options can be set
                   to enable making modifications.

       -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".

       -nb         Become  an  editor  server  for  NetBeans.   See the docs for
                   details.

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

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

       -p[N]       Open N tab pages.  When N is omitted, open one tab  page  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 exclamation mark to the Ex command, as in ":w!".   The  -R
                   option  also  implies  the -n option (see below).  The 'read‐
                   only' option can be  reset  with  ":set  noro".   See  ":help
                   'readonly'".

       -r          List swap files, with information about using them for recov‐
                   ery.

       -r {file}   Recovery mode.  The swap file is used to  recover  a  crashed
                   editing session.  The swap file is a file with the same file‐
                   name 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  characters  in  the
                   file  are interpreted as if you had typed them.  The same can
                   be done with the command ":source! {scriptin}".  If  the  end
                   of the file is reached before the editor exits, further char‐
                   acters 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 initializations.
                   All the other initializations are skipped.  Use this to  edit
                   a  special  kind  of  files.  It can also be used to skip all
                   initializations by giving the name "NONE".  See  ":help  ini‐
                   tialization" within vim for more details.

       -U {gvimrc} Use  the  commands  in  the file {gvimrc} for GUI initializa‐
                   tions.  All the other GUI initializations  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[N]       Verbose.  Give messages about which files are sourced and for
                   reading and writing a viminfo file.  The optional number N is
                   the value for 'verbose'.  Default is 10.

       -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          Use  encryption  when writing files.  Will prompt for a crypt
                   key.

       -X          Don't connect to the X server.  Shortens startup  time  in  a
                   terminal,  but  the  window  title  and clipboard will not be
                   used.

       -y          Start Vim in easy mode, just like the executable  was  called
                   "evim"  or  "eview".   Makes Vim behave like a click-and-type
                   editor.

       -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 '-'.

       --echo-wid  GTK GUI only: Echo the Window ID on stdout.

       --help      Give a help message and exit, just like "-h".

       --literal   Take file name arguments literally, do not expand  wildcards.
                   This has no effect on Unix where the shell expands wildcards.

       --noplugin  Skip loading plugins.  Implied by -u NONE.

       --remote    Connect  to  a Vim server and make it edit the files given in
                   the rest of the arguments.  If no server is found  a  warning
                   is given and the files are edited in the current Vim.

       --remote-expr {expr}
                   Connect  to a Vim server, evaluate {expr} in it and print the
                   result on stdout.

       --remote-send {keys}
                   Connect to a Vim server and send {keys} to it.

       --remote-silent
                   As --remote, but without the warning when no server is found.

       --remote-wait
                   As --remote, but Vim does not exit until the files have  been
                   edited.

       --remote-wait-silent
                   As  --remote-wait,  but without the warning when no server is
                   found.
       --serverlist
                   List the names of all Vim servers that can be found.

       --servername {name}
                   Use {name} as the server name.  Used  for  the  current  Vim,
                   unless  used  with a --remote argument, then it's the name of
                   the server to connect to.

       --socketid {id}
                   GTK GUI only: Use  the  GtkPlug  mechanism  to  run  gvim  in
                   another window.

       --version   Print version information and exit.

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 complete subjects (":help cmdline-com‐
       pletion").  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/share/vim/vim74/doc/*.txt
                      The Vim documentation files.  Use ":help doc-file-list" to
                      get the complete list.

       /usr/share/vim/vim74/doc/tags
                      The tags file used for finding information in the documen‐
                      tation files.

       /usr/share/vim/vim74/syntax/syntax.vim
                      System wide syntax initializations.

       /usr/share/vim/vim74/syntax/*.vim
                      Syntax files for various languages.

       /usr/share/vim/vimrc
                      System wide Vim initializations.

       ~/.vimrc       Your personal Vim initializations.

       /usr/share/vim/gvimrc
                      System wide gvim initializations.

       ~/.gvimrc      Your personal gvim initializations.

       /usr/share/vim/vim74/optwin.vim
                      Script used for the ":options" command, a nice way to view
                      and set options.

       /usr/share/vim/vim74/menu.vim
                      System wide menu initializations for gvim.

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

       /usr/share/vim/vim74/filetype.vim
                      Script  to  detect  the  type  of a file by its name.  See
                      ":help 'filetype'".

       /usr/share/vim/vim74/scripts.vim
                      Script to detect the type of a file by its contents.   See
                      ":help 'filetype'".

       /usr/share/vim/vim74/print/*.ps
                      Files used for PostScript printing.
       For recent info read the VIM home page:
       <URL:http://www.vim.org/>

SEE ALSO
       vimtutor(1)

AUTHOR
       Most  of  Vim was made by Bram Moolenaar, with a lot of help from others.
       See ":help credits" in Vim.
       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 'cpoptions'
       options.



                                   2006 Apr 11                            VIM(1)