1VIM(1)                      General Commands Manual                     VIM(1)
2
3
4

NAME

6       vim - Vi IMproved, a programmer's text editor
7

SYNOPSIS

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

DESCRIPTION

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.
23
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.
28
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.
31
32       Most often Vim is started to edit a single file with the command
33
34            vim file
35
36       More generally Vim is started with:
37
38            vim [options] [filelist]
39
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.
43
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 "--".
49
50       -           The  file  to  edit  is read from stdin.  Commands are read
51                   from stderr, which should be a TTY.
52
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".
61
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".
69
70       Vim behaves differently, depending on the name of the command (the exe‐
71       cutable may still be the same file).
72
73       vim       The "normal" way, everything is default.
74
75       ex        Start  in Ex mode.  Go to Normal mode with the ":vi" command.
76                 Can also be done with the "-e" argument.
77
78       view      Start in read-only mode.  You will be protected from  writing
79                 the files.  Can also be done with the "-R" argument.
80
81       gvim gview
82                 The GUI version.  Starts a new window.
83
84       gex       Starts  a  new  gvim window in Ex mode. Can also be done with
85                 the "-e" argument to gvim
86
87       vimx      Starts gvim in "Vi" mode similar to  "vim",  but  with  addi‐
88                 tional features like xterm clipboard support
89
90       evim eview
91                 The GUI version in easy mode.  Starts a new window.  Can also
92                 be done with the "-y" argument.
93
94       rvim rview rgvim rgview
95                 Like the above, but with restrictions.  It will not be possi‐
96                 ble  to  start  shell  commands, or suspend Vim.  Can also be
97                 done with the "-Z" argument.
98

OPTIONS

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

ON-LINE HELP

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

FILES

369       /usr/share/vim/vim82/doc/*.txt
370                      The Vim documentation files.  Use ":help  doc-file-list"
371                      to get the complete list.
372
373       /usr/share/vim/vim82/doc/tags
374                      The  tags file used for finding information in the docu‐
375                      mentation files.
376
377       /usr/share/vim/vim82/syntax/syntax.vim
378                      System wide syntax initializations.
379
380       /usr/share/vim/vim82/syntax/*.vim
381                      Syntax files for various languages.
382
383       /etc/vimrc     System wide Vim initializations.
384
385       ~/.vimrc       Your personal Vim initializations.
386
387       /etc/gvimrc    System wide gvim initializations.
388
389       ~/.gvimrc      Your personal gvim initializations.
390
391       /usr/share/vim/vim82/optwin.vim
392                      Script used for the ":options" command, a  nice  way  to
393                      view and set options.
394
395       /usr/share/vim/vim82/menu.vim
396                      System wide menu initializations for gvim.
397
398       /usr/share/vim/vim82/bugreport.vim
399                      Script to generate a bug report.  See ":help bugs".
400
401       /usr/share/vim/vim82/filetype.vim
402                      Script  to  detect  the type of a file by its name.  See
403                      ":help 'filetype'".
404
405       /usr/share/vim/vim82/scripts.vim
406                      Script to detect the type of a  file  by  its  contents.
407                      See ":help 'filetype'".
408
409       /usr/share/vim/vim82/print/*.ps
410                      Files used for PostScript printing.
411
412       For recent info read the VIM home page:
413       <URL:http://www.vim.org/>
414

SEE ALSO

416       vimtutor(1)
417

AUTHOR

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

BUGS

425       Probably.  See ":help todo" for a list of known problems.
426
427       Note  that a number of things that may be regarded as bugs by some, are
428       in fact caused by a too-faithful reproduction of Vi's  behaviour.   And
429       if  you  think  other things are bugs "because Vi does it differently",
430       you should take a closer look at the vi_diff.txt file  (or  type  :help
431       vi_diff.txt  when  in  Vim).   Also have a look at the 'compatible' and
432       'cpoptions' options.
433
434
435
436                                  2006 Apr 11                           VIM(1)
Impressum