MSYS から実行するとgvim
、初期化中に問題が発生します。つまり、gvim
' にある初期化ファイルが見つかりませんC:\Documents and Settings\username\vimfiles
。
[具体的には、gvim はE117: Unknown function: pathogen#infect
初期化中にエラーを報告するため、autoload\pathogen.vim
. 実行すると、セットアップ ファイルが実行されていないこと:scriptnames
も確認されvimfiles\
ます。]
なぜうまくいかないのかをデバッグしたと思います。MSYS を起動すると、MSYS シェルは Windows 環境変数を継承しますが、それらの一部をカスタム値に変更します。 C:\Documents and Settings\username
Windows ではの値ですが$HOME
、MSYS では のような値に設定されますC:/msys/user name
。そしてもちろん、Vim は を使用$HOME
して適切な初期化ファイルを見つけます。
がの代わりに のset shell?
ように変更されたことにも気付きましたが、これが初期化の問題を修正するために重要でないことを願っています。shell=C:/msys/bin/sh
shell=C:\WINDOWS\system32\cmd.exe
通常の Windows 環境変数で gvim を実行する必要があります。少なくとも、指定したものなど、いくつかの重要なものを手動でオーバーライドできるようにする必要があり$HOME
ます (つまり、ウィンドウの変更は気にしない$HOME
ので、静的な値を使用しても問題ありません)。
vimrc で手動でリセットしようとしまし$HOME
たが、それでは手遅れです。
$HOME
初期化の早い段階で、または追加のコマンド ライン パラメータとして指定するためのトリックはありますか?
または、別の方法でコマンドを実行する際のトリックはありますmsys
か? シェルがどのように機能するかについてはほとんど何も知りませんC:/msys/bin/sh
が、入力しているコマンド (例: ) の可視環境を変更するいくつかの追加の引数を思いつくことができましたgvim.exe
。
---編集---
機能したソリューションを再投稿します (後のアイデアを実現します):
を実行する代わりにgvim.exe
、コマンドを実行しますHOME="C:\Documents and Settings\username" gvim.exe