1VIM(1)                      General Commands Manual                     VIM(1)


6       vim - Vi IMproved, a programmers text editor


9       vim [options] [file ..]
10       vim [options] -
11       vim [options] -t tag
12       vim [options] -q [errorfile]
14       ex
15       view
16       gvim gview evim eview
17       rvim rview rgvim rgview


20       Vim  is a text editor that is upwards compatible to Vi.  It can be used
21       to edit all kinds of plain text.  It is especially useful  for  editing
22       programs.
24       There  are a lot of enhancements above Vi: multi level undo, multi win‐
25       dows and buffers, syntax highlighting, command line  editing,  filename
26       completion,   on-line   help,   visual  selection,  etc..   See  ":help
27       vi_diff.txt" for a summary of the differences between Vim and Vi.
29       While running Vim a lot of help can be obtained from the  on-line  help
30       system, with the ":help" command.  See the ON-LINE HELP section below.
32       Most often Vim is started to edit a single file with the command
34            vim file
36       More generally Vim is started with:
38            vim [options] [filelist]
40       If the filelist is missing, the editor will start with an empty buffer.
41       Otherwise exactly one out of the following four may be used  to  choose
42       one or more files to be edited.
44       file ..     A  list  of  filenames.   The first one will be the current
45                   file and read into the buffer.  The cursor  will  be  posi‐
46                   tioned on the first line of the buffer.  You can get to the
47                   other files with the ":next" command.  To edit a file  that
48                   starts with a dash, precede the filelist with "--".
50       -           The  file  to  edit  is read from stdin.  Commands are read
51                   from stderr, which should be a tty.
53       -t {tag}    The file to edit and the initial cursor position depends on
54                   a  "tag",  a sort of goto label.  {tag} is looked up in the
55                   tags file, the associated file becomes the current file and
56                   the  associated  command  is executed.  Mostly this is used
57                   for C programs, in which case {tag}  could  be  a  function
58                   name.  The effect is that the file containing that function
59                   becomes the current file and the cursor  is  positioned  on
60                   the start of the function.  See ":help tag-commands".
62       -q [errorfile]
63                   Start  in  quickFix mode.  The file [errorfile] is read and
64                   the first error is displayed.  If [errorfile]  is  omitted,
65                   the  filename  is  obtained  from  the  'errorfile'  option
66                   (defaults to "AztecC.Err" for the  Amiga,  "errors.err"  on
67                   other  systems).   Further errors can be jumped to with the
68                   ":cn" command.  See ":help quickfix".
70       Vim behaves differently, depending on the name of the command (the exe‐
71       cutable may still be the same file).
73       vim       The "normal" way, everything is default.
75       ex        Start  in Ex mode.  Go to Normal mode with the ":vi" command.
76                 Can also be done with the "-e" argument.
78       view      Start in read-only mode.  You will be protected from  writing
79                 the files.  Can also be done with the "-R" argument.
81       gvim gview
82                 The GUI version.  Starts a new window.  Can also be done with
83                 the "-g" argument.
85       evim eview
86                 The GUI version in easy mode.  Starts a new window.  Can also
87                 be done with the "-y" argument.
89       rvim rview rgvim rgview
90                 Like the above, but with restrictions.  It will not be possi‐
91                 ble to start shell commands, or suspend  Vim.   Can  also  be
92                 done with the "-Z" argument.


95       The  options  may  be  given  in  any order, before or after filenames.
96       Options without an argument can be combined after a single dash.
98       +[num]      For the first file the cursor will be  positioned  on  line
99                   "num".   If "num" is missing, the cursor will be positioned
100                   on the last line.
102       +/{pat}     For the first file the cursor will  be  positioned  on  the
103                   first  occurrence of {pat}.  See ":help search-pattern" for
104                   the available search patterns.
106       +{command}
108       -c {command}
109                   {command} will be executed after the first  file  has  been
110                   read.   {command}  is interpreted as an Ex command.  If the
111                   {command} contains spaces it must  be  enclosed  in  double
112                   quotes  (this depends on the shell that is used).  Example:
113                   Vim "+set si" main.c
114                   Note: You can use up to 10 "+" or "-c" commands.
116       -S {file}   {file} will be sourced after the first file has been  read.
117                   This  is  equivalent  to -c "source {file}".  {file} cannot
118                   start with '-'.  If {file} is omitted "Session.vim" is used
119                   (only works when -S is the last argument).
121       --cmd {command}
122                   Like  using  "-c",  but the command is executed just before
123                   processing any vimrc file.  You can use up to 10  of  these
124                   commands, independently from "-c" commands.
126       -A          If  Vim  has  been compiled with ARABIC support for editing
127                   right-to-left oriented files and Arabic  keyboard  mapping,
128                   this  option  starts  Vim  in Arabic mode, i.e. 'arabic' is
129                   set.  Otherwise an error message is given and Vim aborts.
131       -b          Binary mode.  A few options will be set that makes it  pos‐
132                   sible to edit a binary or executable file.
134       -C          Compatible.   Set  the 'compatible' option.  This will make
135                   Vim behave mostly  like  Vi,  even  though  a  .vimrc  file
136                   exists.
138       -d          Start  in  diff  mode.   There should be two, three or four
139                   file name arguments.  Vim will open all the files and  show
140                   differences between them.  Works like vimdiff(1).
142       -d {device} Open  {device}  for  use as a terminal.  Only on the Amiga.
143                   Example: "-d con:20/30/600/150".
145       -D          Debugging.  Go to debugging mode when executing  the  first
146                   command from a script.
148       -e          Start  Vim  in Ex mode, just like the executable was called
149                   "ex".
151       -E          Start Vim in improved Ex mode, just like the executable was
152                   called "exim".
154       -f          Foreground.   For  the  GUI  version, Vim will not fork and
155                   detach from the shell it was started in.  On the Amiga, Vim
156                   is  not restarted to open a new window.  This option should
157                   be used when Vim is executed by a program  that  will  wait
158                   for  the  edit session to finish (e.g. mail).  On the Amiga
159                   the ":sh" and ":!" commands will not work.
161       --nofork    Foreground.  For the GUI version, Vim  will  not  fork  and
162                   detach from the shell it was started in.
164       -F          If  Vim  has  been  compiled with FKMAP support for editing
165                   right-to-left oriented files and  Farsi  keyboard  mapping,
166                   this  option  starts  Vim  in  Farsi mode, i.e. 'fkmap' and
167                   'rightleft' are set.  Otherwise an error message  is  given
168                   and Vim aborts.
170       -g          If  Vim  has  been  compiled  with GUI support, this option
171                   enables the GUI.  If no GUI support  was  compiled  in,  an
172                   error message is given and Vim aborts.
174       -h          Give  a  bit  of  help about the command line arguments and
175                   options.  After this Vim exits.
177       -H          If Vim has been compiled with RIGHTLEFT support for editing
178                   right-to-left  oriented  files and Hebrew keyboard mapping,
179                   this option starts Vim in Hebrew  mode,  i.e.  'hkmap'  and
180                   'rightleft'  are  set.  Otherwise an error message is given
181                   and Vim aborts.
183       -i {viminfo}
184                   When using the viminfo file is enabled,  this  option  sets
185                   the  filename  to use, instead of the default "~/.viminfo".
186                   This can also be used to skip the use of the .viminfo file,
187                   by giving the name "NONE".
189       -L          Same as -r.
191       -l          Lisp mode.  Sets the 'lisp' and 'showmatch' options on.
193       -m          Modifying  files  is  disabled.  Resets the 'write' option.
194                   You can still modify the buffer, but writing a file is  not
195                   possible.
197       -M          Modifications  not  allowed.   The 'modifiable' and 'write'
198                   options will be unset, so that changes are not allowed  and
199                   files  can  not be written.  Note that these options can be
200                   set to enable making modifications.
202       -N          No-compatible mode.  Reset the 'compatible'  option.   This
203                   will  make Vim behave a bit better, but less Vi compatible,
204                   even though a .vimrc file does not exist.
206       -n          No swap file will be used.  Recovery after a crash will  be
207                   impossible.   Handy  if  you  want to edit a file on a very
208                   slow medium (e.g. floppy).  Can also  be  done  with  ":set
209                   uc=0".  Can be undone with ":set uc=200".
211       -nb         Become  an  editor  server  for NetBeans.  See the docs for
212                   details.
214       -o[N]       Open N windows stacked.  When N is omitted, open one window
215                   for each file.
217       -O[N]       Open  N  windows side by side.  When N is omitted, open one
218                   window for each file.
220       -p[N]       Open N tab pages.  When N is omitted, open one tab page for
221                   each file.
223       -R          Read-only  mode.   The  'readonly' option will be set.  You
224                   can still edit the buffer, but will be prevented from acci‐
225                   dently  overwriting  a file.  If you do want to overwrite a
226                   file, add an exclamation mark to  the  Ex  command,  as  in
227                   ":w!".   The  -R  option  also  implies  the -n option (see
228                   below).  The 'readonly' option  can  be  reset  with  ":set
229                   noro".  See ":help 'readonly'".
231       -r          List  swap  files,  with  information  about using them for
232                   recovery.
234       -r {file}   Recovery mode.  The swap file is used to recover a  crashed
235                   editing  session.   The  swap  file is a file with the same
236                   filename as the text file with ".swp" appended.  See ":help
237                   recovery".
239       -s          Silent  mode.   Only  when started as "Ex" or when the "-e"
240                   option was given before the "-s" option.
242       -s {scriptin}
243                   The script file {scriptin} is read.  The characters in  the
244                   file  are  interpreted  as if you had typed them.  The same
245                   can be done with the command ":source! {scriptin}".  If the
246                   end of the file is reached before the editor exits, further
247                   characters are read from the keyboard.
249       -T {terminal}
250                   Tells Vim the name of the terminal  you  are  using.   Only
251                   required  when the automatic way doesn't work.  Should be a
252                   terminal known to Vim (builtin) or defined in  the  termcap
253                   or terminfo file.
255       -u {vimrc}  Use  the  commands in the file {vimrc} for initializations.
256                   All the other initializations are  skipped.   Use  this  to
257                   edit  a special kind of files.  It can also be used to skip
258                   all initializations by giving the name "NONE".  See  ":help
259                   initialization" within vim for more details.
261       -U {gvimrc} Use  the  commands in the file {gvimrc} for GUI initializa‐
262                   tions.  All the other GUI initializations are skipped.   It
263                   can  also be used to skip all GUI initializations by giving
264                   the name "NONE".  See ":help gui-init" within vim for  more
265                   details.
267       -V[N]       Verbose.   Give  messages about which files are sourced and
268                   for reading and writing a viminfo file.  The optional  num‐
269                   ber N is the value for 'verbose'.  Default is 10.
271       -v          Start  Vim  in Vi mode, just like the executable was called
272                   "vi".  This only has effect when the executable  is  called
273                   "ex".
275       -w {scriptout}
276                   All  the  characters that you type are recorded in the file
277                   {scriptout}, until you exit Vim.  This  is  useful  if  you
278                   want  to  create  a script file to be used with "vim -s" or
279                   ":source!".  If the {scriptout} file exists, characters are
280                   appended.
282       -W {scriptout}
283                   Like -w, but an existing file is overwritten.
285       -x          Use encryption when writing files.  Will prompt for a crypt
286                   key.
288       -X          Don't connect to the X server.  Shortens startup time in  a
289                   terminal,  but  the  window title and clipboard will not be
290                   used.
292       -y          Start Vim in easy mode, just like the executable was called
293                   "evim"  or "eview".  Makes Vim behave like a click-and-type
294                   editor.
296       -Z          Restricted mode.  Works like  the  executable  starts  with
297                   "r".
299       --          Denotes  the end of the options.  Arguments after this will
300                   be handled as a file name.  This can  be  used  to  edit  a
301                   filename that starts with a '-'.
303       --echo-wid  GTK GUI only: Echo the Window ID on stdout.
305       --help      Give a help message and exit, just like "-h".
307       --literal   Take  file  name  arguments  literally, do not expand wild‐
308                   cards.  This has no effect on Unix where the shell  expands
309                   wildcards.
311       --noplugin  Skip loading plugins.  Implied by -u NONE.
313       --remote    Connect to a Vim server and make it edit the files given in
314                   the rest of the arguments.  If no server is found a warning
315                   is given and the files are edited in the current Vim.
317       --remote-expr {expr}
318                   Connect  to  a  Vim server, evaluate {expr} in it and print
319                   the result on stdout.
321       --remote-send {keys}
322                   Connect to a Vim server and send {keys} to it.
324       --remote-silent
325                   As --remote, but without the  warning  when  no  server  is
326                   found.
328       --remote-wait
329                   As  --remote,  but  Vim  does not exit until the files have
330                   been edited.
332       --remote-wait-silent
333                   As --remote-wait, but without the warning when no server is
334                   found.
336       --serverlist
337                   List the names of all Vim servers that can be found.
339       --servername {name}
340                   Use  {name}  as the server name.  Used for the current Vim,
341                   unless used with a --remote argument, then it's the name of
342                   the server to connect to.
344       --socketid {id}
345                   GTK  GUI  only:  Use  the  GtkPlug mechanism to run gvim in
346                   another window.
348       --version   Print version information and exit.


351       Type ":help" in Vim to get started.  Type ":help subject" to  get  help
352       on  a  specific  subject.   For example: ":help ZZ" to get help for the
353       "ZZ" command.  Use <Tab> and CTRL-D to complete subjects  (":help  cmd‐
354       line-completion").   Tags are present to jump from one place to another
355       (sort of hypertext links, see ":help").  All documentation files can be
356       viewed in this way, for example ":help syntax.txt".


359       /usr/share/vim/vim73/doc/*.txt
360                      The  Vim documentation files.  Use ":help doc-file-list"
361                      to get the complete list.
363       /usr/share/vim/vim73/doc/tags
364                      The tags file used for finding information in the  docu‐
365                      mentation files.
367       /usr/share/vim/vim73/syntax/syntax.vim
368                      System wide syntax initializations.
370       /usr/share/vim/vim73/syntax/*.vim
371                      Syntax files for various languages.
373       /etc/vimrc     System wide Vim initializations.
375       ~/.vimrc       Your personal Vim initializations.
377       /etc/gvimrc    System wide gvim initializations.
379       ~/.gvimrc      Your personal gvim initializations.
381       /usr/share/vim/vim73/optwin.vim
382                      Script  used  for  the ":options" command, a nice way to
383                      view and set options.
385       /usr/share/vim/vim73/menu.vim
386                      System wide menu initializations for gvim.
388       /usr/share/vim/vim73/bugreport.vim
389                      Script to generate a bug report.  See ":help bugs".
391       /usr/share/vim/vim73/filetype.vim
392                      Script to detect the type of a file by  its  name.   See
393                      ":help 'filetype'".
395       /usr/share/vim/vim73/scripts.vim
396                      Script  to  detect  the  type of a file by its contents.
397                      See ":help 'filetype'".
399       /usr/share/vim/vim73/print/*.ps
400                      Files used for PostScript printing.
402       For recent info read the VIM home page:
403       <URL:http://www.vim.org/>


406       vimtutor(1)


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


415       Probably.  See ":help todo" for a list of known problems.
417       Note that a number of things that may be regarded as bugs by some,  are
418       in  fact  caused by a too-faithful reproduction of Vi's behaviour.  And
419       if you think other things are bugs "because Vi  does  it  differently",
420       you  should  take  a closer look at the vi_diff.txt file (or type :help
421       vi_diff.txt when in Vim).  Also have a look  at  the  'compatible'  and
422       'cpoptions' options.
426                                  2006 Apr 11                           VIM(1)