123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436 |
- VIM(1) General Commands Manual VIM(1)
- NAME
- vim - Vi IMproved, a programmer's 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.
- There are a lot of enhancements above Vi: multi level undo, multi win‐
- 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
- system, with the ":help" command. See the ON-LINE HELP section below.
- 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.
- Otherwise exactly one out of the following four may be used to choose
- one or more files to be edited.
- file .. A list of filenames. The first one will be the current
- file and read into the buffer. The cursor will be posi‐
- tioned 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 "--".
- - The file to edit is read from stdin. Commands are read
- from stderr, which should be a tty.
- -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".
- -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 (de‐
- faults to "AztecC.Err" for the Amiga, "errors.err" on other
- systems). Further errors can be jumped to with the ":cn"
- command. See ":help quickfix".
- Vim behaves differently, depending on the name of the command (the exe‐
- cutable may still be the same file).
- vim The "normal" way, everything is default.
- ex Start in Ex mode. Go to Normal mode with the ":vi" command.
- Can also be done with the "-e" argument.
- view Start in read-only mode. You will be protected from writing
- 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
- Like the above, but with restrictions. It will not be possi‐
- ble to start shell commands, or suspend Vim. Can also be
- done with the "-Z" argument.
- OPTIONS
- The options may be given in any order, before or after filenames. Op‐
- tions without an argument can be combined after a single dash.
- +[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.
- +/{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.
- +{command}
- -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
- Note: You can use up to 10 "+" or "-c" commands.
- -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).
- --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.
- -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
- set. Otherwise an error message is given and Vim aborts.
- -b Binary mode. A few options will be set that makes it pos‐
- sible to edit a binary or executable file.
- -C Compatible. Set the 'compatible' option. This will make
- Vim behave mostly like Vi, even though a .vimrc file ex‐
- ists.
- -d Start in diff mode. There should between two to eight file
- name arguments. Vim will open all the files and show dif‐
- ferences between them. Works like vimdiff(1).
- -d {device} Open {device} for use as a terminal. Only on the Amiga.
- Example: "-d con:20/30/600/150".
- -D Debugging. Go to debugging mode when executing the first
- command from a script.
- -e Start Vim in Ex mode, just like the executable was called
- "ex".
- -E Start Vim in improved Ex mode, just like the executable was
- called "exim".
- -f Foreground. For the GUI version, Vim will not fork and de‐
- tach from the shell it was started in. On the Amiga, Vim
- 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
- the ":sh" and ":!" commands will not work.
- --nofork Foreground. For the GUI version, Vim will not fork and de‐
- tach from the shell it was started in.
- -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
- and Vim aborts.
- -g If Vim has been compiled with GUI support, this option en‐
- ables the GUI. If no GUI support was compiled in, an error
- message is given and Vim aborts.
- -h Give a bit of help about the command line arguments and op‐
- tions. After this Vim exits.
- -H If Vim has been compiled with RIGHTLEFT support for editing
- 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
- and Vim aborts.
- -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".
- -L Same as -r.
- -l Lisp mode. Sets the 'lisp' and 'showmatch' options on.
- -m Modifying files is disabled. Resets the 'write' option.
- You can still modify the buffer, but writing a file is not
- possible.
- -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.
- -N No-compatible mode. Resets the 'compatible' option. This
- will make Vim behave a bit better, but less Vi compatible,
- even though a .vimrc file does not exist.
- -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".
- -nb Become an editor server for NetBeans. See the docs for de‐
- tails.
- -o[N] Open N windows stacked. When N is omitted, open one window
- for each file.
- -O[N] Open N windows side by side. When N is omitted, open one
- window for each file.
- -p[N] Open N tab pages. When N is omitted, open one tab page for
- each file.
- -R Read-only mode. The 'readonly' option will be set. You
- can still edit the buffer, but will be prevented from acci‐
- dentally 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'".
- -r List swap files, with information about using them for re‐
- covery.
- -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".
- -s Silent mode. Only when started as "Ex" or when the "-e"
- option was given before the "-s" option.
- -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.
- -T {terminal}
- Tells Vim the name of the terminal you are using. Only re‐
- quired when the automatic way doesn't work. Should be a
- terminal known to Vim (builtin) or defined in the termcap
- or terminfo file.
- -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.
- -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
- details.
- -V[N] Verbose. Give messages about which files are sourced and
- for reading and writing a viminfo file. The optional num‐
- ber N is the value for 'verbose'. Default is 10.
- -v Start Vim in Vi mode, just like the executable was called
- "vi". This only has effect when the executable is called
- "ex".
- -w {scriptout}
- 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
- ":source!". If the {scriptout} file exists, characters are
- appended.
- -W {scriptout}
- Like -w, but an existing file is overwritten.
- -x Use encryption when writing files. Will prompt for a crypt
- key.
- -X Don't connect to the X server. Shortens startup time in a
- terminal, but the window title and clipboard will not be
- used.
- -y Start Vim in easy mode, just like the executable was called
- "evim" or "eview". Makes Vim behave like a click-and-type
- editor.
- -Z Restricted mode. Works like the executable starts with
- "r".
- -- 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 '-'.
- --clean Do not use any personal configuration (vimrc, plugins,
- etc.). Useful to see if a problem reproduces with a clean
- Vim setup.
- --echo-wid GTK GUI only: Echo the Window ID on stdout.
- --help Give a help message and exit, just like "-h".
- --literal Take file name arguments literally, do not expand wild‐
- cards. This has no effect on Unix where the shell expands
- wildcards.
- --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}
- Connect to a Vim server, evaluate {expr} in it and print
- the result on stdout.
- --remote-send {keys}
- Connect to a Vim server and send {keys} to it.
- --remote-silent
- As --remote, but without the warning when no server is
- found.
- --remote-wait
- As --remote, but Vim does not exit until the files have
- 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}
- 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.
- --socketid {id}
- GTK GUI only: Use the GtkPlug mechanism to run gvim in an‐
- other window.
- --startuptime {file}
- During startup write timing messages to the file {fname}.
- --version Print version information and exit.
- ON-LINE HELP
- 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
- (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
- The Vim documentation files. Use ":help doc-file-list"
- to get the complete list.
- /usr/local/lib/vim/doc/tags
- The tags file used for finding information in the docu‐
- 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.
- ~/.vimrc Your personal Vim initializations.
- /usr/local/lib/vim/gvimrc
- System wide gvim initializations.
- ~/.gvimrc Your personal gvim initializations.
- /usr/local/lib/vim/optwin.vim
- Script used for the ":options" command, a nice way to
- 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
- Script to detect the type of a file by its name. See
- ":help 'filetype'".
- /usr/local/lib/vim/scripts.vim
- Script to detect the type of a file by its contents.
- See ":help 'filetype'".
- /usr/local/lib/vim/print/*.ps
- 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.
- 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.
- BUGS
- Probably. See ":help todo" for a list of known problems.
- 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.
- 2021 Jun 13 VIM(1)
|