vim not loading _vimrc file when launched from git bash

I have downloaded and installed git for windows (msysgit) and frequently used the included git bash. Whenever I run vim from git bash my _vimrc file is not loaded because there is syntax highlighting or anything. When I run the same command to start vim form with in windows command line (cmd) instead of git bash it works as described in my _vimrc file. The only customization I have done to git bash is to add the following bash_profile to C:\Program Files (x86)\Git\etc

alias up='cd ..'
alias ls='ls --color'
alias la='ls -a'
alias vimconfig='vim /c/Program\ Files/Vim/_vimrc'
alias gvimconfig='vim /c/Program\ Files/Vim/_gvimrc'
alias bashconfig='vim /c/Program\ Files/Git/etc/bash_profile'
LS_COLORS='di=36:fi=37:ln=31:pi=5:so=5:bd=5:cd=5:or=31:mi=0:ex=35:*.rpm=90'
export LS_COLORS

Does anyone know why it loads my _vimrc file correctly when vim is launched from cmd and incorrectly when launched from git bash?


Solution 1:

msysgit comes with its own version of vim.

You can verify this by running

type vim

inside your git bash prompt.

I think it will tell you that vim = /bin/vim, not /c/Program Files/Vim/Vim.exe.

Then run

vim --version | grep vimrc

to see which config files it looks for.

On my system, it says

$ vim --version | grep vimrc
   system vimrc file: "$VIM\vimrc"
     user vimrc file: "$HOME\_vimrc"
 2nd user vimrc file: "$VIM\_vimrc"

$VIM points to C:\Program Files\Git\share\vim and $HOME points to c:\Users\USERNAME.

I guess your best option is to run your Windows-based version of vim, e.g.

alias vim='/c/Program Files/Vim/Vim.exe'

or similar.

Or you could move the msysgit version of vim aside, e.g.

mv /bin/vim /bin/vim.disabled

Solution 2:

/bin/vim is just a redirect script, you can modify it and set the path to whatever you want.

Edit C:\Program Files (x86)\Git\bin\vim as an administrator.

Change this:

#!/bin/sh

exec /share/vim/vim74/vim "$@"

To this (or whatever your path is):

#!/bin/sh

exec "/c/Program Files (x86)/Vim/vim74/gvim.exe" "$@"