このスレッドを見つけました、私はジェンスからの答えを受け入れられないと思います。私たちはそれをしないように言われることを求めていません。設定が使用されていない、追加のコマンドラインウィンドウがポップアップするなど、常にいくつかの癖があったため、他の回答が気に入らなかった。私はいくつか掘りました、そしてこれは私のために働きます。追加のコマンドラインボックスは無料で、適切なgvim設定を使用します。
alias gvim='HOME=/cygdrive/p/ cygstart /cygdrive/c/Program\ Files\ \(x86\)/Vim/vim74/gvim.exe'
HOMEを自分のものに変更するだけです。そこに何を置くかを見つけるには、Windowsからgvimを実行し、「:echo $ HOME」を入れて、私の場合はEnterキーを押すと、P:\が表示され、/ cygdrive /p/に変換されます。
また、gvim.exeが別のディレクトリ/バージョンにある場合は、調整する必要があります。
cygwinコマンドプロンプトで「gvimscript.sh」と入力すると、ファイルとともにgvimが起動します。
アップデート
私はこれを行うための少し良い方法を見つけました。エイリアスを使用すると、gvimを実行したセッションが拘束され、別のプロセスとして起動する必要がありました。「gvim&」を使用すると、起動時にジョブ番号が一覧表示され、完了すると「完了」行が表示されるため、エレガントではありません。うるさいので、関数を使ってすべてを整理する方法を見つけました。
これを.bash_functionsファイルに追加するだけで、ホームディレクトリとバックスラッシュの使用に関する前のセクションに基づいて構築されます。
gvim() {
ORIGHOME=$HOME
HOME=/cygdrive/p/
/cygdrive/c/Program\ Files\ \(x86\)/Vim/vim74/gvim.exe $1 & disown
HOME=$ORIGHOME
} 2>/dev/null
babunユーザー向けのUPDATE2!
もともとこれに取り組んできたので、私は元のcygwinインストールを破棄して、本格的な仮想化なしでWindowsでLinux機能を必要とする人にとってはそれほど面倒ではないように見えるbabunを採用することになりました。もちろん、gvim起動スクリプトが壊れたので、.zshrcファイルで次のことを行う必要がありました(babunはzshを使用し、最初は抵抗してbashに切り替えましたが、理由があるはずだと思ったので、それを容赦しました。いいね)
gvim() {
OLD_HOME=$HOME
OLD_VIMRUNTIME=$VIMRUNTIME
export HOME=/cygdrive/c/Users/gmitchell/
export VIMRUNTIME="C:\Program Files (x86)\VIM\vim74"
TARGET=$(cygpath -w $1)
(/cygdrive/c/Program\ Files\ \(x86\)/Vim/vim74/gvim.exe $TARGET &)
export HOME=$OLD_HOME
export VIMRUNTIME=$OLD_VIMRUNTIME
}
*注:周囲の湾曲した中括弧()は、ジョブIDがクリーンなシェルを台無しにするのを防ぎ、「disown」は不要になります。
PSこれで残っている唯一の厄介な問題は、起動したすべてのgvimインスタンスが閉じられるまで、babunシェルを「終了」できないことです。多分誰かがそれを理解することができます。私はもう試した。exitと入力すると、すべてのgvimsを終了するまでそこにハングします。