123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559 |
- .TH VIM 1 "2021 Jun 13"
- .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
- \-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
- \-\-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
- \-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}
- 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
- \-\-nofork
- Foreground. For the GUI version,
- .B Vim
- will not fork and detach from the shell it was started in.
- .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.
- .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
- Give a bit of help about the command line arguments and options.
- After this
- .B Vim
- exits.
- .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
- Same as \-r.
- .TP
- \-l
- Lisp mode.
- Sets the 'lisp' and 'showmatch' options on.
- .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-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
- \-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
- \-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
- \-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
- \-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
- \-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
- \-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[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
- Start
- .B Vim
- in Vi mode, just like the executable was called "vi". This only has effect
- when the executable is called "ex".
- .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
- 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
- \-\-echo\-wid
- GTK GUI only: Echo the Window ID on stdout.
- .TP
- \-\-help
- Give a help message and exit, just like "\-h".
- .TP
- \-\-literal
- Take file name arguments literally, do not expand wildcards. This has no
- effect on Unix where the shell expands wildcards.
- .TP
- \-\-noplugin
- Skip loading plugins. Implied by \-u NONE.
- .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
- \-\-version
- Print version information and exit.
- .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/lib/vim/doc/*.txt
- The
- .B Vim
- documentation files.
- Use ":help doc\-file\-list" to get the complete list.
- .TP
- /usr/local/lib/vim/doc/tags
- The tags file used for finding information in the documentation files.
- .TP
- /usr/local/lib/vim/syntax/syntax.vim
- System wide syntax initializations.
- .TP
- /usr/local/lib/vim/syntax/*.vim
- Syntax files for various languages.
- .TP
- /usr/local/lib/vim/vimrc
- System wide
- .B Vim
- initializations.
- .TP
- ~/.vimrc
- Your personal
- .B Vim
- initializations.
- .TP
- /usr/local/lib/vim/gvimrc
- System wide gvim initializations.
- .TP
- ~/.gvimrc
- Your personal gvim initializations.
- .TP
- /usr/local/lib/vim/optwin.vim
- Script used for the ":options" command, a nice way to view and set options.
- .TP
- /usr/local/lib/vim/menu.vim
- System wide menu initializations for gvim.
- .TP
- /usr/local/lib/vim/bugreport.vim
- Script to generate a bug report. See ":help bugs".
- .TP
- /usr/local/lib/vim/filetype.vim
- Script to detect the type of a file by its name. See ":help 'filetype'".
- .TP
- /usr/local/lib/vim/scripts.vim
- Script to detect the type of a file by its contents. See ":help 'filetype'".
- .TP
- /usr/local/lib/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.
|