これは、vimのシェルをインタラクティブに設定したときに発生します。
set shellcmdflag=-ic
また
set shell=/bin/bash\ -i
出力に構文の強調表示を与えるので、これらが好きです(例:)。!ls
しかし、コストはfg #
毎回入力する必要があるということです。
これはデフォルトの動作ですか?
フォアグラウンドで実行せずにvimでインタラクティブシェルを取得するにはどうすればよいですか?
できません。この動作は完全に正常であり、予想されており、Vimの作者の哲学に沿っています。将来変更される可能性はほとんどありません。
Vim内にシェルが必要な場合は、 ConqueやVimshellなどのプラグインをインストールする必要があります。
私は通常、代わりにtmuxを使用します。ターミナルを分割して、通常のインタラクティブシェルとvimのインスタンスを並べて実行することができます-非常に便利です。