11.4. Initialization

This section describes vim's initialization steps, including those taken for the GUI versions of vim.

11.4.1. Initialization for All vim Invocations

vim performs the following initialization steps:

  1. Set the shell and term options from the SHELL and TERM environment variables, respectively. On MS-DOS and Win32, use COMSPEC to set shell if SHELL is not set.

  2. If -u was supplied, execute the given file, and skip the rest of the startup file based initializations. The -s option has the same effect for ex mode; only the -u option will be interpreted. Use of -u NONE causes vim to skip all further initializations.

  3. Execute the system-wide vimrc file. The exact path is set when vim is compiled. A typical value is /usr/local/share/vim/vimrc.

  4. Execute instructions in the first place that exists of the following four:

    • The environment variable VIMINIT.

    • The user vimrc file, $HOME/.vimrc under UNIX (or Linux). The location will be different on non-UNIX systems. If .vimrc does not exist, vim looks for _vimrc. On the non-UNIX systems, the order is reversed.

    • The environment variable EXINIT.

    • The user exrc file, $HOME/.exrc. On non-UNIX systems, _exrc is tried. However, in this case, vim only looks for one or the other, not both.

  5. If the exrc option has been set, then vim looks in the current directory for the first file that exists of the following four. The others are ignored.

    • .vimrc

    • _vimrc

    • .exrc

    • _exrc

    On MS-DOS and Win32 systems, the _xxxrc files are looked for before ...

Get Learning the vi Editor, Sixth Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.