gVim で cygwin 内でデフォルトで外部コマンドを実行することは可能ですか?

gVim で cygwin 内でデフォルトで外部コマンドを実行することは可能ですか?

gVim (Windows 上) で、デフォルトで cygwin 内の外部コマンドを実行することは可能ですか? つまり、!ps は現在実行中のプロセスを表示する cygwin ターミナルを開きますか?

答え1

まずVimに実行するように指示する必要がありますバッシュプログラムの代わりにコマンドプロンプトまた、bash は、プロファイル/ログイン スクリプトを読み取り、環境 (PATH など) を適切に設定できるように、ログイン シェルとして実行する必要があります。

シェルにコマンドライン オプションを導入する設定も変更する必要があります。

:set shell=C:\Cygwin\bin\bash.exe\ -login
:set shellcmdflag=-c

cygwinコマンドに引数が必要な場合は、おそらく

:set shellquote=\"

コマンド全体が適切に引用符で囲まれるようにします。そうしないと、シェルは最初の単語のみを取得し、残りを無視します。

関連情報