Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I recently installed vim on Windows 7 as a stand-alone binary.

Where should I put my .vimrc file?

share|improve this question
But is it not true that on Windows it is a _vimrc file? – Kazark Nov 29 '11 at 16:34
Windows gvim (either Cygwin or Native) will opt for _gvimrc, .gvimrc, _vimrc and finally _vimrc in that order of priority. It unders the underscore and dot format for the vimrc. – Darren Hall Jan 17 '12 at 22:04
up vote 140 down vote accepted

From the Vim Wiki.

In Vim, your home directory is specified with $HOME. On Unix systems, this is your ~ directory. On Windows systems, the best way to find the value of $HOME is from within Vim, as follows. These commands are useful to see what directories your Vim is using:

:echo expand('~')
:echo $HOME
:echo $VIM

Once you determine the HOME variable put the vimrc file within that directory.

If you would like to change your HOME variable, set HOME as an environment variable for either the system or user.

Computer > Properties > Advanced System Settings > Advanced > Environment Variables > User | System Variables.

Windows (both Native and Cygwin*) will use _gvimrc, .gvimrc, _vimrc and .vimrc in that order of priority. The gvim* files will be checked with the gvim process, while the console vim will only check the vim* files.

*: verified against vim 7.2 and 7.3

share|improve this answer
(For those like me, who only use Windows when forced to): remember to enable showing file extensions. "_gvimrc.txt" etc. doesn't work. ;) – Stein G. Strindhaug Dec 11 '14 at 17:02
To have HOME match the behavior of Unix systems, I'd create a global environmental variable of %USERPROFILE% if that's not already done. – Pluto Aug 25 '15 at 21:02

For Vim 7.4, these are the paths it looks for on Windows

   system vimrc file: "$VIM\vimrc"
     user vimrc file: "$HOME\_vimrc"
 2nd user vimrc file: "$HOME\vimfiles\vimrc"
 3rd user vimrc file: "$VIM\_vimrc"
      user exrc file: "$HOME\_exrc"
  2nd user exrc file: "$VIM\_exrc"
  system gvimrc file: "$VIM\gvimrc"
    user gvimrc file: "$HOME\_gvimrc"
2nd user gvimrc file: "$HOME\vimfiles\gvimrc"
3rd user gvimrc file: "$VIM\_gvimrc"
    system menu file: "$VIMRUNTIME\menu.vim"

As Darren Hall said, use these commands to find out the values of $VIM and $HOME.

:echo $HOME
:echo $VIM

For example, one good place for gvim-specific settings would be

share|improve this answer

If you need to find out just from a .bat file first look in the %HOME% directory. If that is not defined then vim/gvim looks in the path defined by concatenating %HOMEDRIVE% and %HOMEPATH%.

share|improve this answer

That is actually a good question because after installation (oddly enough) you get a _vimrc file under "Program Files" - which is not a good place for configuration files.

Put it under


This way it will be picked up instead of the configuration file put by the installation.

share|improve this answer

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .