私は外部シェルスクリプトを呼び出し、出力を現在のバッファに読み込むVimスクリプトを持っています。 Unixシステムでうまく動作します。スクリプトをOSに依存しないようにしようとしているので、Windowsユーザーもこのスクリプトを使用したいと思っています。ここでは、スクリプトから関連する行です:VimスクリプトでWindows環境変数を使用するには?
:exe ":0r !$HOME/bin/shell_script"
Vimのドキュメントによると、$HOME
があまりにもWindowsユーザーのための罰金翻訳しなければなりません。コマンドモードでWin XPでgvimを使用すると、実際に "C:¥Documents and Settings¥my_user"が生成されます。しかし、(バックスラッシュ調整後)私のVimスクリプトは
つまり$ HOMEの\ビン\のshell_script」が見つかりませんと言っDOS cmd.exeのウィンドウにメッセージをWindowsマシンに障害が発生した
。
、VimはCMD.EXEにそれを渡す前に$HOME
の価値を拡大することがないように見える。
Vimは電流増幅率として%
解釈するので、私は%APPDATA%
のいずれかを使用することはできませんntファイルを開き、ファイル名をAPPDATA
に追加または追加します。奇妙なVim はを展開します%
を展開しません$HOME
。
$HOME
を正しく展開するにはどうすればよいですか?それはvimスクリプトでexe
を使用しているからですか?ここで
この質問は(バック)スラッシュについてではありません。ここでの問題はシェルが '$ HOME'を理解できないことです。 – doubleDown