VIMTUTOR(1)                 General Commands Manual                VIMTUTOR(1)



NAME
       vimtutor - the Vim tutor

SYNOPSIS
       vimtutor [-g] [language]

DESCRIPTION
       Vimtutor starts the Vim tutor.  It copies the tutor file first, so that
       it can be modified without changing the original file.

       The Vimtutor is useful for people that want to learn  their  first  Vim
       commands.

       The  optional argument -g starts vimtutor with gvim rather than vim, if
       the GUI version of Vim is available, or falls back to vim  if  gvim  is
       not found.

       The  optional [language] argument is the two-letter name of a language,
       like "it" or "es".  If the [language] argument is missing, the language
       of  the  current  locale  will be used.  If a tutor in this language is
       available, it will be used.  Otherwise  the  English  version  will  be
       used.

       Vim is always started in Vi compatible mode.

FILES
       /usr/local/share/vim/vim??/tutor/tutor[.language]
                      The Vimtutor text file(s).
                      vim??  is short version number, like vim91 for Vim 9.1

       /usr/local/share/vim/vim??/tutor/tutor.vim
                      The Vim script used to copy the Vimtutor text file.

AUTHOR
       The  Vimtutor  was  originally  written for Vi by Michael C. Pierce and
       Robert K. Ware, Colorado  School  of  Mines  using  ideas  supplied  by
       Charles  Smith,  Colorado  State  University.  E-mail: bware@mines.col‐
       orado.edu (now invalid).
       It was modified for Vim by Bram Moolenaar.  For the names of the trans‐
       lators see the tutor files.

SEE ALSO
       vim(1)



                                2024 August 12                     VIMTUTOR(1)
