2011-07-23 5 views
6

シェルを使って現在のディレクトリに入り、コマンドを実行できます。 bash_completionはうまく動作します。bash_completionを有効にすることは可能ですか:!または:r! VIMで?

しかし、どうすればbash_completionがで動作しますか:!コマンドまたは:r!コマンドケース?

。私はEmacsのユーザーとEmacsですM-!コマンドは、このような事を許可していません(また、は、M-Xシェルは、あなたがbash_completionを取得するためにM-Xの用語が必要です)。

答えて

2

これはできません。 @Prince Goulashが指しているのは、vim自体が行う単純なファイル名補完です。あなたは、パイプの完了にはbashを強制する方法を知っていればどこかにあなたがターンコールに内蔵されたことがあり:!カスタムコマンドの補完関数を作成することができバリアントが、ビルトインコマンドの再定義が完了することはできません。

私は個人的にはbashでこれを行う方法を知っているし、組み込みコマンド(compaddなど)、pexpect(パイソン)を使用してのzshを再定義して汚いハックでzshの結果でそうしようとすると、(perlの)期待していることを知りません、(TCL)、zshの/ zptyまたは対話モードでシェルを実行するには似たようなとzsh-> vimのIPCメカニズムを発明を期待して(反対方向に、それははるかに簡単です)(私はかつてのzshのための同様のモジュールで作業し始めたが、として停止このように問題が多すぎる)。

1

はあなたの.vimrcに

set nocompatible 

を持っていますか?これにより、:!のex-mode補完が自動的に有効になります。補完候補のリストを表示するには、あなたも

set wildmenu 

を使用してwildmodeオプションを調査することができます。

関連する問題