mirror of
https://github.com/vim/vim
synced 2025-03-14 22:07:51 +01:00
Problem: style issues with man pages Solution: update man pages and test_xxd.vim, since it uses the xxd man page (RestorerZ) closes: #15489 Signed-off-by: RestorerZ <restorer@mail2k.ru> Signed-off-by: Christian Brabandt <cb@256bit.org>
610 lines
17 KiB
Groff
610 lines
17 KiB
Groff
.TH VIM 1 "2024 Aug 12"
|
|
.SH NAME
|
|
vim \- Vi IMproved, a programmer's text editor
|
|
.SH SYNOPSIS
|
|
.br
|
|
.B vim
|
|
[options] [file ..]
|
|
.br
|
|
.B vim
|
|
[options] \-
|
|
.br
|
|
.B vim
|
|
[options] \-t tag
|
|
.br
|
|
.B vim
|
|
[options] \-q [errorfile]
|
|
.PP
|
|
.br
|
|
.B ex
|
|
.br
|
|
.B view
|
|
.br
|
|
.B gvim
|
|
.B gview
|
|
.B evim
|
|
.B eview
|
|
.br
|
|
.B rvim
|
|
.B rview
|
|
.B rgvim
|
|
.B rgview
|
|
.SH DESCRIPTION
|
|
.B 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.
|
|
.PP
|
|
There are a lot of enhancements above Vi: multi level undo,
|
|
multi windows 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
|
|
.B Vim
|
|
and Vi.
|
|
.PP
|
|
While running
|
|
.B 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.
|
|
.PP
|
|
Most often
|
|
.B Vim
|
|
is started to edit a single file with the command
|
|
.PP
|
|
vim file
|
|
.PP
|
|
More generally
|
|
.B Vim
|
|
is started with:
|
|
.PP
|
|
vim [options] [filelist]
|
|
.PP
|
|
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.
|
|
.TP 12
|
|
file ..
|
|
A list of filenames.
|
|
The first one will be the current file and read into the buffer.
|
|
The cursor will be positioned 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 "\-\-".
|
|
.TP
|
|
\-
|
|
The file to edit is read from stdin. Commands are read from stderr, which
|
|
should be a tty.
|
|
.TP
|
|
\-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".
|
|
.TP
|
|
\-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".
|
|
.PP
|
|
.B Vim
|
|
behaves differently, depending on the name of the command (the executable may
|
|
still be the same file).
|
|
.TP 10
|
|
vim
|
|
The "normal" way, everything is default.
|
|
.TP
|
|
ex
|
|
Start in Ex mode.
|
|
Go to Normal mode with the ":vi" command.
|
|
Can also be done with the "\-e" argument.
|
|
.TP
|
|
view
|
|
Start in read-only mode. You will be protected from writing the files.
|
|
Can also be done with the "\-R" argument.
|
|
.TP
|
|
gvim gview
|
|
The GUI version.
|
|
Starts a new window.
|
|
Can also be done with the "\-g" argument.
|
|
.TP
|
|
evim eview
|
|
The GUI version in easy mode.
|
|
Starts a new window.
|
|
Can also be done with the "\-y" argument.
|
|
.TP
|
|
rvim rview rgvim rgview
|
|
Like the above, but with restrictions. It will not be possible to start shell
|
|
commands, or suspend
|
|
.B Vim.
|
|
Can also be done with the "\-Z" argument.
|
|
.SH OPTIONS
|
|
The options may be given in any order, before or after filenames.
|
|
Options without an argument can be combined after a single dash.
|
|
.TP 12
|
|
+[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.
|
|
.TP
|
|
+/{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.
|
|
.TP
|
|
+{command}
|
|
.TP
|
|
\-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
|
|
.br
|
|
Note: You can use up to 10 "+" or "\-c" commands.
|
|
.TP
|
|
\-A
|
|
If
|
|
.B Vim
|
|
has been compiled with ARABIC support for editing right-to-left
|
|
oriented files and Arabic keyboard mapping, this option starts
|
|
.B Vim
|
|
in Arabic mode, i.e. 'arabic' is set. Otherwise an error
|
|
message is given and
|
|
.B Vim
|
|
aborts.
|
|
.TP
|
|
\-b
|
|
Binary mode.
|
|
A few options will be set that makes it possible to edit a binary or
|
|
executable file.
|
|
.TP
|
|
\-C
|
|
Compatible. Set the 'compatible' option.
|
|
This will make
|
|
.B Vim
|
|
behave mostly like Vi, even though a .vimrc file exists.
|
|
.TP
|
|
\-d
|
|
Start in diff mode.
|
|
There should between two to eight file name arguments.
|
|
.B Vim
|
|
will open all the files and show differences between them.
|
|
Works like vimdiff(1).
|
|
.TP
|
|
\-d {device}, \-dev {device}
|
|
Open {device} for use as a terminal.
|
|
Only on the Amiga.
|
|
Example:
|
|
"\-d con:20/30/600/150".
|
|
.TP
|
|
\-D
|
|
Debugging. Go to debugging mode when executing the first command from a
|
|
script.
|
|
.TP
|
|
\-e
|
|
Start
|
|
.B Vim
|
|
in Ex mode, just like the executable was called "ex".
|
|
.TP
|
|
\-E
|
|
Start
|
|
.B Vim
|
|
in improved Ex mode, just like the executable was called "exim".
|
|
.TP
|
|
\-f
|
|
Foreground. For the GUI version,
|
|
.B Vim
|
|
will not fork and detach from the shell it was started in.
|
|
On the Amiga,
|
|
.B Vim
|
|
is not restarted to open a new window.
|
|
This option should be used when
|
|
.B 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.
|
|
.TP
|
|
\-F
|
|
If
|
|
.B Vim
|
|
has been compiled with FKMAP support for editing right-to-left
|
|
oriented files and Farsi keyboard mapping, this option starts
|
|
.B Vim
|
|
in Farsi mode, i.e. 'fkmap' and 'rightleft' are set.
|
|
Otherwise an error message is given and
|
|
.B Vim
|
|
aborts.
|
|
.br
|
|
Note: Farsi support has been removed in patch 8.1.0932.
|
|
.TP
|
|
\-g
|
|
If
|
|
.B 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
|
|
.B Vim
|
|
aborts.
|
|
.TP
|
|
\-H
|
|
If
|
|
.B Vim
|
|
has been compiled with RIGHTLEFT support for editing right-to-left
|
|
oriented files and Hebrew keyboard mapping, this option starts
|
|
.B Vim
|
|
in Hebrew mode, i.e. 'hkmap' and 'rightleft' are set.
|
|
Otherwise an error message is given and
|
|
.B Vim
|
|
aborts.
|
|
.TP
|
|
\-i {viminfo}
|
|
Specifies the filename to use when reading or writing the viminfo file,
|
|
instead of the default "~/.viminfo".
|
|
This can also be used to skip the use of the .viminfo file, by giving the name
|
|
"NONE".
|
|
.TP
|
|
\-l
|
|
Lisp mode.
|
|
Sets the 'lisp' and 'showmatch' options on.
|
|
.TP
|
|
\-L
|
|
Same as \-r.
|
|
.TP
|
|
\-m
|
|
Modifying files is disabled.
|
|
Resets the 'write' option.
|
|
You can still modify the buffer, but writing a file is not possible.
|
|
.TP
|
|
\-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.
|
|
.TP
|
|
\-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".
|
|
.TP
|
|
\-N
|
|
No-compatible mode. Resets the 'compatible' option.
|
|
This will make
|
|
.B Vim
|
|
behave a bit better, but less Vi compatible, even though a .vimrc file does
|
|
not exist.
|
|
.TP
|
|
\-nb
|
|
Become an editor server for NetBeans. See the docs for details.
|
|
.TP
|
|
\-o[N]
|
|
Open N windows stacked.
|
|
When N is omitted, open one window for each file.
|
|
.TP
|
|
\-O[N]
|
|
Open N windows side by side.
|
|
When N is omitted, open one window for each file.
|
|
.TP
|
|
\-p[N]
|
|
Open N tab pages.
|
|
When N is omitted, open one tab page for each file.
|
|
.TP
|
|
\-P {parent-title}
|
|
Win32 GUI only: Specify the title of the parent application. When possible, Vim
|
|
will run in an MDI window inside the application. {parent-title} must appear in
|
|
the window title of the parent application. Make sure that it is specific
|
|
enough. Note that the implementation is still primitive. It won't work with
|
|
all applications and the menu doesn't work.
|
|
.TP
|
|
\-r
|
|
List swap files, with information about using them for recovery.
|
|
.TP
|
|
\-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".
|
|
.TP
|
|
\-R
|
|
Read-only mode.
|
|
The 'readonly' option will be set.
|
|
You can still edit the buffer, but will be prevented from accidentally
|
|
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'".
|
|
.TP
|
|
\-s
|
|
Silent mode. Only when started as "Ex" or when the "\-e" option was given
|
|
before the "\-s" option.
|
|
.TP
|
|
\-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.
|
|
.TP
|
|
\-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).
|
|
.TP
|
|
\-T {terminal}
|
|
Tells
|
|
.B Vim
|
|
the name of the terminal you are using.
|
|
Only required when the automatic way doesn't work.
|
|
Should be a terminal known to
|
|
.B Vim
|
|
(builtin) or defined in the termcap or terminfo file.
|
|
.TP
|
|
\-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.
|
|
.TP
|
|
\-U {gvimrc}
|
|
Use the commands in the file {gvimrc} for GUI initializations.
|
|
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.
|
|
.TP
|
|
\-v
|
|
Start
|
|
.B Vim
|
|
in Vi mode, just like the executable was called "vi". This only has effect
|
|
when the executable is called "ex".
|
|
.TP
|
|
\-V[N]
|
|
Verbose. Give messages about which files are sourced and for reading and
|
|
writing a viminfo file. The optional number N is the value for 'verbose'.
|
|
Default is 10.
|
|
.TP
|
|
\-V[N]{filename}
|
|
Like \-V and set 'verbosefile' to {filename}. The result is that messages are
|
|
not displayed but written to the file {filename}. {filename} must not start
|
|
with a digit.
|
|
.TP
|
|
\-w{number}
|
|
Set the 'window' option to {number}.
|
|
.TP
|
|
\-w {scriptout}
|
|
All the characters that you type are recorded in the file
|
|
{scriptout}, until you exit
|
|
.B 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.
|
|
.TP
|
|
\-W {scriptout}
|
|
Like \-w, but an existing file is overwritten.
|
|
.TP
|
|
\-x
|
|
If
|
|
.B Vim
|
|
has been compiled with encryption support, use encryption when writing files.
|
|
Will prompt for a crypt key.
|
|
.TP
|
|
\-X
|
|
Don't connect to the X server. Shortens startup time in a terminal, but the
|
|
window title and clipboard will not be used.
|
|
.TP
|
|
\-y
|
|
Start
|
|
.B Vim
|
|
in easy mode, just like the executable was called "evim" or "eview".
|
|
Makes
|
|
.B Vim
|
|
behave like a click-and-type editor.
|
|
.TP
|
|
\-Z
|
|
Restricted mode. Works like the executable starts with "r".
|
|
.TP
|
|
\-\-
|
|
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 '\-'.
|
|
.TP
|
|
\-\-clean
|
|
Do not use any personal configuration (vimrc, plugins, etc.). Useful to see if
|
|
a problem reproduces with a clean Vim setup.
|
|
.TP
|
|
\-\-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.
|
|
.TP
|
|
\-\-echo\-wid
|
|
GTK GUI only: Echo the Window ID on stdout.
|
|
.TP
|
|
\-\-gui\-dialog\-file {name}
|
|
When using the GUI, instead of showing a dialog, write the title and message of
|
|
the dialog to file {name}. The file is created or appended to. Only useful
|
|
for testing, to avoid that the test gets stuck on a dialog that can't be seen.
|
|
Without the GUI the argument is ignored.
|
|
.TP
|
|
\-\-help, \-h, \-?
|
|
Give a bit of help about the command line arguments and options.
|
|
After this
|
|
.B Vim
|
|
exits.
|
|
.TP
|
|
\-\-literal
|
|
Take file name arguments literally, do not expand wildcards. This has no
|
|
effect on Unix where the shell expands wildcards.
|
|
.TP
|
|
\-\-log {filename}
|
|
If
|
|
.B Vim
|
|
has been compiled with eval and channel feature, start logging and write
|
|
entries to {filename}. This works like calling
|
|
.I ch_logfile({filename}, 'ao')
|
|
very early during startup.
|
|
.TP
|
|
\-\-nofork
|
|
Foreground. For the GUI version,
|
|
.B Vim
|
|
will not fork and detach from the shell it was started in.
|
|
.TP
|
|
\-\-noplugin
|
|
Skip loading plugins. Implied by \-u NONE.
|
|
.TP
|
|
\-\-not\-a\-term
|
|
Tells
|
|
.B Vim
|
|
that the user knows that the input and/or output is not connected to a
|
|
terminal. This will avoid the warning and the two second delay that would
|
|
happen.
|
|
.TP
|
|
\-\-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.
|
|
.TP
|
|
\-\-remote\-expr {expr}
|
|
Connect to a Vim server, evaluate {expr} in it and print the result on stdout.
|
|
.TP
|
|
\-\-remote\-send {keys}
|
|
Connect to a Vim server and send {keys} to it.
|
|
.TP
|
|
\-\-remote\-silent
|
|
As \-\-remote, but without the warning when no server is found.
|
|
.TP
|
|
\-\-remote\-wait
|
|
As \-\-remote, but Vim does not exit until the files have been edited.
|
|
.TP
|
|
\-\-remote\-wait\-silent
|
|
As \-\-remote\-wait, but without the warning when no server is found.
|
|
.TP
|
|
\-\-serverlist
|
|
List the names of all Vim servers that can be found.
|
|
.TP
|
|
\-\-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.
|
|
.TP
|
|
\-\-socketid {id}
|
|
GTK GUI only: Use the GtkPlug mechanism to run gVim in another window.
|
|
.TP
|
|
\-\-startuptime {file}
|
|
During startup write timing messages to the file {fname}.
|
|
.TP
|
|
\-\-ttyfail
|
|
When stdin or stdout is not a a terminal (tty) then exit right away.
|
|
.TP
|
|
\-\-version
|
|
Print version information and exit.
|
|
.TP
|
|
\-\-windowid {id}
|
|
Win32 GUI only: Make gVim try to use the window {id} as a parent, so that it
|
|
runs inside that window.
|
|
.SH ON-LINE HELP
|
|
Type ":help" in
|
|
.B 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 cmdline\-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".
|
|
.SH FILES
|
|
.TP 15
|
|
/usr/local/share/vim/vim??/doc/*.txt
|
|
The
|
|
.B Vim
|
|
documentation files.
|
|
Use ":help doc\-file\-list" to get the complete list.
|
|
.br
|
|
.I vim??
|
|
is short version number, like vim91 for
|
|
.B Vim 9.1
|
|
.TP
|
|
/usr/local/share/vim/vim??/doc/tags
|
|
The tags file used for finding information in the documentation files.
|
|
.TP
|
|
/usr/local/share/vim/vim??/syntax/syntax.vim
|
|
System wide syntax initializations.
|
|
.TP
|
|
/usr/local/share/vim/vim??/syntax/*.vim
|
|
Syntax files for various languages.
|
|
.TP
|
|
/usr/local/share/vim/vimrc
|
|
System wide
|
|
.B Vim
|
|
initializations.
|
|
.TP
|
|
~/.vimrc, ~/.vim/vimrc, $XDG_CONFIG_HOME/vim/vimrc
|
|
Your personal
|
|
.B Vim
|
|
initializations (first one found is used).
|
|
.TP
|
|
/usr/local/share/vim/gvimrc
|
|
System wide gvim initializations.
|
|
.TP
|
|
~/.gvimrc, ~/.vim/gvimrc, $XDG_CONFIG_HOME/vim/gvimrc
|
|
Your personal
|
|
.B gVim
|
|
initializations (first one found is used).
|
|
.TP
|
|
/usr/local/share/vim/vim??/optwin.vim
|
|
Script used for the ":options" command, a nice way to view and set options.
|
|
.TP
|
|
/usr/local/share/vim/vim??/menu.vim
|
|
System wide menu initializations for
|
|
.B gVim.
|
|
.TP
|
|
/usr/local/share/vim/vim??/bugreport.vim
|
|
Script to generate a bug report. See ":help bugs".
|
|
.TP
|
|
/usr/local/share/vim/vim??/filetype.vim
|
|
Script to detect the type of a file by its name. See ":help 'filetype'".
|
|
.TP
|
|
/usr/local/share/vim/vim??/scripts.vim
|
|
Script to detect the type of a file by its contents. See ":help 'filetype'".
|
|
.TP
|
|
/usr/local/share/vim/vim??/print/*.ps
|
|
Files used for PostScript printing.
|
|
.PP
|
|
For recent info read the VIM home page:
|
|
.br
|
|
<URL:http://www.vim.org/>
|
|
.SH SEE ALSO
|
|
vimtutor(1)
|
|
.SH AUTHOR
|
|
Most of
|
|
.B Vim
|
|
was made by Bram Moolenaar, with a lot of help from others.
|
|
See ":help credits" in
|
|
.B Vim.
|
|
.br
|
|
.B 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.
|
|
.SH BUGS
|
|
Probably.
|
|
See ":help todo" for a list of known problems.
|
|
.PP
|
|
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.
|