| .TH VIM 1 "2006 Apr 11" |
| .SH NAME |
| vim \- Vi IMproved, a programmers 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 be two, three or four 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} |
| When using the viminfo file is enabled, this option sets the filename to use, |
| 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. Reset 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 below). |
| 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 |
| \-\-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 |
| \-\-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. |