Bash Cures Cancer
Learn the UNIX/Linux command line

Home     Man Pages     SpamDefeator


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

       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 pos-
		 sible 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
		   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  or  three	 file
		   name arguments.  Vim will open all the files and show dif-
		   ferences 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 edit-
		   ing right-to-left oriented files and Hebrew keyboard	 map-
		   ping,  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 win-
		   dow for each file.

       -O[N]	   Open N windows side by side.	 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 over-
		   write a file, add an exclamation 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 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.  Not needed on Unix, the shell expand 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  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/share/vim/vim63/doc/*.txt
		      The Vim documentation files.  Use ":help doc-file-list"
		      to get the complete list.

       /usr/share/vim/vim63/doc/tags
		      The tags file used for finding information in the docu-
		      mentation files.

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

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

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

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

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

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

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

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

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

       /usr/share/vim/vim63/*.ps
		      Files used for PostScript printing.

       For recent info read the VIM home page:
       

SEE ALSO
       vimtutor(1)

AUTHOR
       Most of Vim was made by Bram Moolenaar, with a lot of help  from	 oth-
       ers.  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.



				 2002 Feb 22			       VIM(1)


UNIX/Linux commands referenced on this page:
  1. vim
  2. rvim
  3. file
  4. more
  5. which
  6. sort
  7. last
  8. as
  9. diff
  10. ping
  11. write
  12. enable
  13. make
  14. less
  15. crash
  16. script
  17. time
  18. expand
  19. links
  20. nice
  21. view
  22. info
  23. look
  24. at