0
0
mirror of https://github.com/vim/vim.git synced 2025-07-04 23:07:33 -04:00
vim/runtime/doc/vim.man

429 lines
19 KiB
Groff
Raw Normal View History

2015-07-10 19:31:35 +02:00
VIM(1) General Commands Manual VIM(1)
2004-06-13 20:20:40 +00:00
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.
2015-07-10 19:31:35 +02:00
There are a lot of enhancements above Vi: multi level undo, multi win
2004-06-13 20:20:40 +00:00
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
2015-07-10 19:31:35 +02:00
system, with the ":help" command. See the ON-LINE HELP section below.
2004-06-13 20:20:40 +00:00
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.
2015-07-10 19:31:35 +02:00
Otherwise exactly one out of the following four may be used to choose
2004-06-13 20:20:40 +00:00
one or more files to be edited.
2015-07-10 19:31:35 +02:00
file .. A list of filenames. The first one will be the current
file and read into the buffer. The cursor will be posi
2004-06-13 20:20:40 +00:00
tioned on the first line of the buffer. You can get to the
2015-07-10 19:31:35 +02:00
other files with the ":next" command. To edit a file that
2004-06-13 20:20:40 +00:00
starts with a dash, precede the filelist with "--".
2015-07-10 19:31:35 +02:00
- The file to edit is read from stdin. Commands are read
2004-06-13 20:20:40 +00:00
from stderr, which should be a tty.
-t {tag} The file to edit and the initial cursor position depends on
2015-07-10 19:31:35 +02:00
a "tag", a sort of goto label. {tag} is looked up in the
2004-06-13 20:20:40 +00:00
tags file, the associated file becomes the current file and
2015-07-10 19:31:35 +02:00
the associated command is executed. Mostly this is used
for C programs, in which case {tag} could be a function
2004-06-13 20:20:40 +00:00
name. The effect is that the file containing that function
2015-07-10 19:31:35 +02:00
becomes the current file and the cursor is positioned on
2004-06-13 20:20:40 +00:00
the start of the function. See ":help tag-commands".
-q [errorfile]
2015-07-10 19:31:35 +02:00
Start in quickFix mode. The file [errorfile] is read and
the first error is displayed. If [errorfile] is omitted,
2004-06-13 20:20:40 +00:00
the filename is obtained from the 'errorfile' option
2015-07-10 19:31:35 +02:00
(defaults to "AztecC.Err" for the Amiga, "errors.err" on
other systems). Further errors can be jumped to with the
2004-06-13 20:20:40 +00:00
":cn" command. See ":help quickfix".
2015-07-10 19:31:35 +02:00
Vim behaves differently, depending on the name of the command (the exe
2004-06-13 20:20:40 +00:00
cutable may still be the same file).
vim The "normal" way, everything is default.
2015-07-10 19:31:35 +02:00
ex Start in Ex mode. Go to Normal mode with the ":vi" command.
2004-06-13 20:20:40 +00:00
Can also be done with the "-e" argument.
2015-07-10 19:31:35 +02:00
view Start in read-only mode. You will be protected from writing
2004-06-13 20:20:40 +00:00
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
2015-07-10 19:31:35 +02:00
Like the above, but with restrictions. It will not be possi
ble to start shell commands, or suspend Vim. Can also be
2004-06-13 20:20:40 +00:00
done with the "-Z" argument.
OPTIONS
2015-07-10 19:31:35 +02:00
The options may be given in any order, before or after filenames.
2004-06-13 20:20:40 +00:00
Options without an argument can be combined after a single dash.
2015-07-10 19:31:35 +02:00
+[num] For the first file the cursor will be positioned on line
"num". If "num" is missing, the cursor will be positioned
2004-06-13 20:20:40 +00:00
on the last line.
2015-07-10 19:31:35 +02:00
+/{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.
2004-06-13 20:20:40 +00:00
+{command}
-c {command}
2015-07-10 19:31:35 +02:00
{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:
2004-06-13 20:20:40 +00:00
Vim "+set si" main.c
Note: You can use up to 10 "+" or "-c" commands.
2015-07-10 19:31:35 +02:00
-S {file} {file} will be sourced after the first file has been read.
This is equivalent to -c "source {file}". {file} cannot
2004-06-13 20:20:40 +00:00
start with '-'. If {file} is omitted "Session.vim" is used
(only works when -S is the last argument).
--cmd {command}
2015-07-10 19:31:35 +02:00
Like using "-c", but the command is executed just before
processing any vimrc file. You can use up to 10 of these
2004-06-13 20:20:40 +00:00
commands, independently from "-c" commands.
2015-07-10 19:31:35 +02:00
-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
2004-06-13 20:20:40 +00:00
set. Otherwise an error message is given and Vim aborts.
2015-07-10 19:31:35 +02:00
-b Binary mode. A few options will be set that makes it pos
2004-06-13 20:20:40 +00:00
sible to edit a binary or executable file.
2015-07-10 19:31:35 +02:00
-C Compatible. Set the 'compatible' option. This will make
Vim behave mostly like Vi, even though a .vimrc file
2004-06-13 20:20:40 +00:00
exists.
2015-07-10 19:31:35 +02:00
-d Start in diff mode. There should be two, three or four
file name arguments. Vim will open all the files and show
2008-08-06 17:06:04 +00:00
differences between them. Works like vimdiff(1).
2004-06-13 20:20:40 +00:00
2015-07-10 19:31:35 +02:00
-d {device} Open {device} for use as a terminal. Only on the Amiga.
2004-06-13 20:20:40 +00:00
Example: "-d con:20/30/600/150".
2015-07-10 19:31:35 +02:00
-D Debugging. Go to debugging mode when executing the first
2004-06-13 20:20:40 +00:00
command from a script.
2015-07-10 19:31:35 +02:00
-e Start Vim in Ex mode, just like the executable was called
2004-06-13 20:20:40 +00:00
"ex".
-E Start Vim in improved Ex mode, just like the executable was
called "exim".
2015-07-10 19:31:35 +02:00
-f Foreground. For the GUI version, Vim will not fork and
2004-06-13 20:20:40 +00:00
detach from the shell it was started in. On the Amiga, Vim
2015-07-10 19:31:35 +02:00
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
2004-06-13 20:20:40 +00:00
the ":sh" and ":!" commands will not work.
2015-07-10 19:31:35 +02:00
--nofork Foreground. For the GUI version, Vim will not fork and
2004-06-13 20:20:40 +00:00
detach from the shell it was started in.
2015-07-10 19:31:35 +02:00
-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
2004-06-13 20:20:40 +00:00
and Vim aborts.
2015-07-10 19:31:35 +02:00
-g If Vim has been compiled with GUI support, this option
enables the GUI. If no GUI support was compiled in, an
2004-06-13 20:20:40 +00:00
error message is given and Vim aborts.
2015-07-10 19:31:35 +02:00
-h Give a bit of help about the command line arguments and
2004-06-13 20:20:40 +00:00
options. After this Vim exits.
-H If Vim has been compiled with RIGHTLEFT support for editing
2015-07-10 19:31:35 +02:00
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
2004-06-13 20:20:40 +00:00
and Vim aborts.
-i {viminfo}
2015-07-10 19:31:35 +02:00
When using the viminfo file is enabled, this option sets
the filename to use, instead of the default "~/.viminfo".
2004-06-13 20:20:40 +00:00
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.
2015-07-10 19:31:35 +02:00
-m Modifying files is disabled. Resets the 'write' option.
You can still modify the buffer, but writing a file is not
2004-06-13 20:20:40 +00:00
possible.
2015-07-10 19:31:35 +02:00
-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
2004-06-13 20:20:40 +00:00
set to enable making modifications.
2015-07-10 19:31:35 +02:00
-N No-compatible mode. Reset the 'compatible' option. This
will make Vim behave a bit better, but less Vi compatible,
2004-06-13 20:20:40 +00:00
even though a .vimrc file does not exist.
2015-07-10 19:31:35 +02:00
-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
2004-06-13 20:20:40 +00:00
uc=0". Can be undone with ":set uc=200".
2015-07-10 19:31:35 +02:00
-nb Become an editor server for NetBeans. See the docs for
2004-06-13 20:20:40 +00:00
details.
-o[N] Open N windows stacked. When N is omitted, open one window
for each file.
2015-07-10 19:31:35 +02:00
-O[N] Open N windows side by side. When N is omitted, open one
2004-06-13 20:20:40 +00:00
window for each file.
2006-03-25 21:52:34 +00:00
-p[N] Open N tab pages. When N is omitted, open one tab page for
each file.
2015-07-10 19:31:35 +02:00
-R Read-only mode. The 'readonly' option will be set. You
can still edit the buffer, but will be prevented from acci
dently 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 'readonly' option can be reset with ":set
2004-06-13 20:20:40 +00:00
noro". See ":help 'readonly'".
2015-07-10 19:31:35 +02:00
-r List swap files, with information about using them for
2004-06-13 20:20:40 +00:00
recovery.
2015-07-10 19:31:35 +02:00
-r {file} Recovery mode. The swap file is used to recover a crashed
editing session. The swap file is a file with the same
2004-06-13 20:20:40 +00:00
filename as the text file with ".swp" appended. See ":help
recovery".
2015-07-10 19:31:35 +02:00
-s Silent mode. Only when started as "Ex" or when the "-e"
2004-06-13 20:20:40 +00:00
option was given before the "-s" option.
-s {scriptin}
2015-07-10 19:31:35 +02:00
The script file {scriptin} is read. The characters in the
file are interpreted as if you had typed them. The same
2004-06-13 20:20:40 +00:00
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}
2015-07-10 19:31:35 +02:00
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
2004-06-13 20:20:40 +00:00
or terminfo file.
2015-07-10 19:31:35 +02:00
-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
2004-06-13 20:20:40 +00:00
initialization" within vim for more details.
2015-07-10 19:31:35 +02:00
-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
2004-06-13 20:20:40 +00:00
details.
2015-07-10 19:31:35 +02:00
-V[N] Verbose. Give messages about which files are sourced and
for reading and writing a viminfo file. The optional num
2004-06-13 20:20:40 +00:00
ber N is the value for 'verbose'. Default is 10.
2015-07-10 19:31:35 +02:00
-v Start Vim in Vi mode, just like the executable was called
"vi". This only has effect when the executable is called
2004-06-13 20:20:40 +00:00
"ex".
-w {scriptout}
2015-07-10 19:31:35 +02:00
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
2004-06-13 20:20:40 +00:00
":source!". If the {scriptout} file exists, characters are
appended.
-W {scriptout}
Like -w, but an existing file is overwritten.
2004-12-09 21:34:53 +00:00
-x Use encryption when writing files. Will prompt for a crypt
key.
2004-06-13 20:20:40 +00:00
2015-07-10 19:31:35 +02:00
-X Don't connect to the X server. Shortens startup time in a
terminal, but the window title and clipboard will not be
2004-06-13 20:20:40 +00:00
used.
-y Start Vim in easy mode, just like the executable was called
2015-07-10 19:31:35 +02:00
"evim" or "eview". Makes Vim behave like a click-and-type
2004-06-13 20:20:40 +00:00
editor.
2015-07-10 19:31:35 +02:00
-Z Restricted mode. Works like the executable starts with
2004-06-13 20:20:40 +00:00
"r".
2015-07-10 19:31:35 +02:00
-- Denotes the end of the options. Arguments after this will
be handled as a file name. This can be used to edit a
2004-06-13 20:20:40 +00:00
filename that starts with a '-'.
2004-12-09 21:34:53 +00:00
--echo-wid GTK GUI only: Echo the Window ID on stdout.
2004-06-13 20:20:40 +00:00
--help Give a help message and exit, just like "-h".
2015-07-10 19:31:35 +02:00
--literal Take file name arguments literally, do not expand wild
cards. This has no effect on Unix where the shell expands
2004-12-09 21:34:53 +00:00
wildcards.
2004-06-13 20:20:40 +00:00
--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}
2015-07-10 19:31:35 +02:00
Connect to a Vim server, evaluate {expr} in it and print
2004-06-13 20:20:40 +00:00
the result on stdout.
--remote-send {keys}
Connect to a Vim server and send {keys} to it.
--remote-silent
2015-07-10 19:31:35 +02:00
As --remote, but without the warning when no server is
2004-06-13 20:20:40 +00:00
found.
--remote-wait
2015-07-10 19:31:35 +02:00
As --remote, but Vim does not exit until the files have
2004-06-13 20:20:40 +00:00
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}
2015-07-10 19:31:35 +02:00
Use {name} as the server name. Used for the current Vim,
2004-06-13 20:20:40 +00:00
unless used with a --remote argument, then it's the name of
the server to connect to.
--socketid {id}
2015-07-10 19:31:35 +02:00
GTK GUI only: Use the GtkPlug mechanism to run gvim in
2004-06-13 20:20:40 +00:00
another window.
--version Print version information and exit.
ON-LINE HELP
2015-07-10 19:31:35 +02:00
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
2004-06-13 20:20:40 +00:00
(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
2015-07-10 19:31:35 +02:00
The Vim documentation files. Use ":help doc-file-list"
2004-06-13 20:20:40 +00:00
to get the complete list.
/usr/local/lib/vim/doc/tags
2015-07-10 19:31:35 +02:00
The tags file used for finding information in the docu
2004-06-13 20:20:40 +00:00
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.
2005-02-26 23:04:13 +00:00
~/.vimrc Your personal Vim initializations.
2004-06-13 20:20:40 +00:00
/usr/local/lib/vim/gvimrc
System wide gvim initializations.
2005-02-26 23:04:13 +00:00
~/.gvimrc Your personal gvim initializations.
2004-06-13 20:20:40 +00:00
/usr/local/lib/vim/optwin.vim
2015-07-10 19:31:35 +02:00
Script used for the ":options" command, a nice way to
2004-06-13 20:20:40 +00:00
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
2015-07-10 19:31:35 +02:00
Script to detect the type of a file by its name. See
2004-06-13 20:20:40 +00:00
":help 'filetype'".
/usr/local/lib/vim/scripts.vim
2015-07-10 19:31:35 +02:00
Script to detect the type of a file by its contents.
2004-06-13 20:20:40 +00:00
See ":help 'filetype'".
2008-08-06 17:06:04 +00:00
/usr/local/lib/vim/print/*.ps
2004-06-13 20:20:40 +00:00
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.
2015-07-10 19:31:35 +02:00
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.
2004-06-13 20:20:40 +00:00
BUGS
Probably. See ":help todo" for a list of known problems.
2006-03-25 21:52:34 +00:00
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
2004-06-13 20:20:40 +00:00
'cpoptions' options.
2006-04-11 21:38:50 +00:00
2006 Apr 11 VIM(1)