packages icon
 VIM(1)                              General         Commands         Manual
 VIM(1)



 NAME
        vim - Vi IMproved, a programmer's 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
        programs.

        There  are a lot of enhancements above Vi: multi level  undo,  multi
 win
        dows  and  buffers,  syntax  highlighting,  command  line   editing,
 filename
        completion,   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
 posi
                    tioned 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
 possi
                  ble 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   in
 the
                    line  with  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
                    processing any vimrc file.  You can use  up  to  10   of
 these
                    commands, 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
 pos
                    sible 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
                    differences 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
                    possible.

        -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
 acci
                    dentally  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
                    above).  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  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
                    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
 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
                    initialization" 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
 num
                    ber 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
 wild
                    cards.  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
 cmd
        line-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
 docu
                       mentation 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.

        ~/.vimrc       Your personal Vim initializations.

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

        ~/.gvimrc      Your personal gvim initializations.

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

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

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

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

        /usr/local/lib/vim/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)