Vim はコマンドをバックグラウンドで実行しますが、出力を vsplit でライブ表示します。

Vim はコマンドをバックグラウンドで実行しますが、出力を vsplit でライブ表示します。

ファイルを操作しながら、vim でターミナル コマンド (たとえば、build) を実行し、同時に vsplit で出力をライブで表示するにはどうすればよいですか?

答え1

使用する必要があるjob_start関数このため、別のプロセス インスタンスでコマンドが呼び出されます。この呼び出しにバッファ名を渡すと、vim はジョブのプロセスの STDOUT および STDERR パイプをこれらのバッファにリンクします。データがこれらのバッファに投稿されたときにコールバックを登録したり、実行中のジョブの種類など、さまざまな追加アクションも可能です。

Example:
        let logjob = job_start("tail -f /tmp/log",
                             \ {'out_io': 'buffer', 'out_name': 'dummy'})
        vsplit | buffer dummy

関連情報