基本的に、次の機能が必要です。
vimsの新しいターミナル機能を使用して、編集中のファイルからフォーカスを奪うことなく、新しいターミナルウィンドウを開くボタンを押して、次を使用してコードをコンパイルできるようにしたいです。
"cmake -Bbuild-H。&& cmake --build build/--- j4 -w"は、コンパイルをライブで表示し、不要になったときに別のボタンを使用して再度閉じることができるようにします。
では、元の分割にフォーカスを残したまま、:terminalを使用して複雑なコマンドを実行するにはどうすればよいですか?
私の知る限り、あなたは今はできません。 1つのコマンド(:terコマンド)またはシェル(:ter)を実行できますが、開いているシェルにコマンドを入れることはできません。
:ter cmake -Bbuild-H。 && cmake --build build/--- j4 -w
はビルドを開始しますが、C-WwまたはC-WkまたはC-WjまたはC-WhまたはC-Wlで他のウィンドウに戻る必要があります。次に、ビルドを見ながら入力を続けることができます。
nmap <leader> b :ter cmake -Bbuild -H. && cmake --build build/ -- -j4 -w
これを.vimrcに入れてください。リーダーを押すと、bが起動します。まだ変更していない場合、デフォルトのリーダーは\です。
おそらくTmuxでそれを行うことができます。
あなたはこのようにそれを行うことができます:
function! s:Buildit()
ter cmake -Bbuild -H. && cmake --build build/ -- -j4 -w
wincmd w
endfunction
com! Buildit call s:Buildit()
nnoremap <leader> b :Buildit<CR>