2016-07-20 6 views
1

を、しかし、プロンプトVimの:私は外部コマンドを実行したい:「サイレント」

押して

を継続するために、コマンドを入力するか、または入力し見ることが不本意に自動的に外部コマンドの後に閉鎖されているコンソールを防ぎますこの解決策として、

私は

:silent !<external command> 

外部コマンドの前に「サイレント」を追加しかし、これはコンソールが自動的にCOMM後にクローズさせそして。

この問題を回避する方法はありますか?

+0

シェル自体を続行しますか? – SibiCoder

+0

@SibiCoderはい、場合によっては、シェルからvimへの戻り値を気にしないので、シェルがコマンドを独立して実行し、コマンドが終了すると「一時停止」します。 –

答えて

0

むしろ:shを使ってvimからシェルに行き、コマンドを実行してシェルからexitにvimに戻ることができます。

これはqでvimを終了し、シェルでコマンドを実行し、vim filenameで再びvimに戻るのとは異なります。

どう違うのですか?

1):shによって、変更を保存しなくてもシェルに移動できます。したがって、単一のシェルコマンドを実行する必要がある場合は、いくつかの変更を加えてvimを終了することはできません。保存することもできないこともあります。

2):shによって、vimの開いているタブとバッファはすべて残っているので、シェルに戻って戻ることができます。

+0

これはあなたの目的に合っていますか、それとも別のものが必要ですか? – SibiCoder

+0

あなたの答えは、 ":!"に加えてvimからシェルを開く別の方法を教えてくれます。コマンド。しかし、gvimを使用してシェルを終了させるのを待たずにシェルコマンドを実行したいときはどうしたらよいですか?私がこの質問で触れたように、 ":silent!"はこの作業を行いますが、シェルコマンドの後にシェルは自動的に閉じます。何か案は? –

+1

私はvimからシェルを制御できないと思います。だから、あなたの返信をシェルで待つことはありません。出力をキャプチャして見たい場合は、 ':echo system(" shell command here ")'を使って、指定されたシェルコマンドの出力を見ることができます。 – SibiCoder

関連する問題