git bashから起動したときにvimが_vimrcファイルをロードしない


13

git for windows(msysgit)をダウンロードしてインストールし、付属のgit bashを頻繁に使用しました。git bashからvimを実行するたびに、構文の強調表示などがあるため、_vimrcファイルは読み込まれません。同じコマンドを実行してgit bashの代わりにWindowsコマンドライン(cmd)で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

vimがcmdから起動されたときに_vimrcファイルを正しく読み込み、git bashから起動されたときに誤って読み込む理由を誰もが知っていますか?

回答:


14

msysgitには、独自のバージョンのvimが付属しています。

これを確認するには次を実行します

type vim

git bashプロンプト内。

vim= /bin/vimではなく、ということがわかると思います/c/Program Files/Vim/Vim.exe

次に実行する

vim --version | grep vimrc

どの設定ファイルを探すかを確認します。

私のシステムでは、

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

$VIMを指し、C:\Program Files\Git\share\vim$HOME指しc:\Users\USERNAMEます。

あなたの最良のオプションは、Windowsベースのvimを実行することだと思います。例えば

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

または類似。

または、vimのmsysgitバージョンを別の場所に移動することもできます。たとえば、

mv /bin/vim /bin/vim.disabled

「msysgitには独自のバージョンのvimが付属しています」という意味ですか?
ヘプタイト

2
最後の行を実行するには、管理者としてgit bashを実行する必要がある場合があることに注意してください。
クリスト

おかげで、それは完全に動作します。私は、Windows 8.1で最後のコマンドを踏襲
イブン・サイード

2

/bin/vim は単なるリダイレクトスクリプトです。変更して、必要なパスを設定できます。

C:\Program Files (x86)\Git\bin\vim管理者として編集します。

これを変える:

#!/bin/sh

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

これ(またはあなたのパスが何であれ):

#!/bin/sh

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

1

vimで、と入力し:scriptnamesます。

:scr [iptnames]-すべてのソーススクリプト名を最初にソースされた順にリストします。番号はスクリプトIDに使用されます。


2
質問を注意深く読んでください。あなたの答えは元の質問には答えませ
DavidPostill

@DavidPostill、私見、それはトピックから外れていません。なぜなら、問題は彼のカスタマイズされたスクリプトがすべてソースされていないか、他のスクリプトによってオーバーライドされているからです。私の答えは、どのスクリプトがソースされているか、どの順序でソースがソースされているかを知る方法です。また、それは非常に古い質問であることに注意してください、私のポイントは元の質問に答えるだけでなく、うまく一般化することです。
qeatzy

私はそれが話題外であるとは言わなかった、私はそれが質問に答えなかったと言った。
DavidPostill

私は質問に答えました。:scr [iptname]により、スクリプトがロードされたかどうかがわかります。ロードされている場合、それをオーバーライドする候補は何ですか。質問をもう一度読んでください。-2つのvimがインストールされている可能性があり、起動プロセスが異なる場合があります。
qeatzy
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.