Vimの中にいるときにUnixコマンドを実行するにはどうすればよいですか?
コマンドモードに移動 Esc、次に:!unix_command
。 :
強打で始まるプロンプト!
は、UNIXシェルコマンドとして実行されます。出力が表示され、キーを押してvimで作業に戻ることができます。
テキストをビジュアルモードで選択していて、STDINとしてコマンドに送信する場合は、!!
を入力してコマンドを入力します。コマンドの結果により、選択したテキストが置き換えられます。
VIMヘルプ ミラーから:
:Shell :sh[ell] start a Shell
:! :!{command} execute {command} with a Shell
上記の回答に加えて、現在のvimバッファーの内容を:%!
を使用したシェルコマンドのstdinとして使用できます。
たとえば、現在のvimウィンドウの内容から行をフィルタリングして、内部に部分文字列ca
がある行のみを含めるとします。あなたは使うことができます:
:%! grep ca
これは自動的に行をフィルタリングし、現在の行の代わりにgrep出力を配置します。