从 git bash 启动时,vim 不加载 _vimrc 文件

Ben*_*Ben 13 windows-7 bash vim git vimrc

我已经下载并安装了 git for windows (msysgit) 并经常使用包含的 git bash。每当我从 git bash 运行 vim 时,我的 _vimrc 文件都没有加载,因为有语法高亮或任何东西。当我在 Windows 命令行(cmd)而不是 git bash 中运行相同的命令来启动 vim 表单时,它的工作方式如我的 _vimrc 文件中所述。我对 git bash 所做的唯一自定义是将以下 bash_profile 添加到 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
Run Code Online (Sandbox Code Playgroud)

有谁知道为什么它在从 cmd 启动 vim 时正确加载我的 _vimrc 文件,而从 git bash 启动时却错误地加载了我的 _vimrc 文件?

Mik*_*kel 14

msysgit 带有自己的 vim 版本。

您可以通过运行来验证这一点

type vim
Run Code Online (Sandbox Code Playgroud)

在你的 git bash 提示符中。

我认为它会告诉你vim= /bin/vim,而不是/c/Program Files/Vim/Vim.exe

然后运行

vim --version | grep vimrc
Run Code Online (Sandbox Code Playgroud)

查看它查找哪些配置文件。

在我的系统上,它说

$ vim --version | grep vimrc
   system vimrc file: "$VIM\vimrc"
     user vimrc file: "$HOME\_vimrc"
 2nd user vimrc file: "$VIM\_vimrc"
Run Code Online (Sandbox Code Playgroud)

$VIM指向C:\Program Files\Git\share\vim$HOME指向c:\Users\USERNAME

我想你最好的选择是运行基于 Windows 的 vim 版本,例如

alias vim='/c/Program Files/Vim/Vim.exe'
Run Code Online (Sandbox Code Playgroud)

或类似。

或者你可以将 vim 的 msysgit 版本移到一边,例如

mv /bin/vim /bin/vim.disabled
Run Code Online (Sandbox Code Playgroud)

  • 请注意,您可能必须以管理员身份运行 git bash 才能完成最后一行。 (2认同)