Vim は同じウィンドウで bash コマンド/make を実行します

Vim は同じウィンドウで bash コマンド/make を実行します

:makeまたはなどのコマンドを実行しようとすると:!ls、まったく別の画面/ビューに出力が表示され、このプロセス中は編集中のファイルは表示されません。実行したコマンドは下部のウィンドウ (おそらくクイック フィックス ウィンドウ) で実行できる可能性がありますが、ファイルを表示して編集する方法はありますか?

答え1

vim 8 または neovim を使用している場合は、以下を試してみるとよいでしょう:

http://github.com/skywind3000/asyncrun.vim

vim-dispatch の優れた代替品であり、ユーザー エクスペリエンスが大幅に向上しています。

ここに画像の説明を入力してください

  • 使い方は簡単で、:AsyncRun でバックグラウンド コマンドを開始するだけです (古い "!" コマンドと同じです)。

  • コマンドはバックグラウンドで実行されるため、プロセス全体が完了するまで待つ必要はありません。

  • 出力はクイックフィックス ウィンドウに表示され、エラーは errorformat と一致します。

  • エラー出力をすぐに確認することも、実行中に vim で作業を続けることもできます。

  • 編集に集中している間、ベルを鳴らしたりサウンドを再生して作業が完了したことを通知します。
  • vim、neovim、gvim、macvim で対応するユーザー エクスペリエンスを提供します。

答え2

使用できるvimディスパッチ非同期ビルド (make) 用のプラグイン。

または、シェル コマンドの結果をクイックフィックス ウィンドウに表示したいだけの場合は、ex モードで次のように使用できます。

:cexpr system('ls -alh') | copen

さらに良いのは、これを.vimrcに追加することだ。

command -nargs=+ Run :cexpr system('<args>') | copen

exモードで実行します:

:Run ls -alh

答え3

この動作はまったく正常です。CLI Vimにはターミナルエミュレータが付属していないため、一度もないそうです。ただし、GUI Vim にはダム端末エミュレータが付属しており、それが「ずっと昔のことを覚えている」ものだと思います。

別の Vim ウィンドウでコマンドを実行するにはプラグインが必要です。征服用語今のところ覚えている名前はこれだけですが、他にも 1 つか 2 つあると思います。

答え4

分割するとヴィムWindows は使えますか?

  • :スプリット- ウィンドウを水平に分割します
  • :vsplit- ウィンドウを垂直に分割します

その後、ウィンドウの1つをファイルの編集にのみ使用し、もう1つを:作る

関連情報