mirror of
				https://github.com/vim/vim.git
				synced 2025-10-27 09:24:23 -04:00 
			
		
		
		
	
		
			
				
	
	
		
			436 lines
		
	
	
		
			19 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
			
		
		
	
	
			436 lines
		
	
	
		
			19 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
| 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)
 |