Como posso abrir um terminal dividido no vim 8.1 sem mudar para ele ou voltar para a divisão anterior dentro de um vimscript

0

Basicamente eu quero a seguinte funcionalidade:
Usando a nova funcionalidade de terminal do vims, eu quero ser capaz de pressionar um botão, que abre uma nova janela de terminal, sem roubar o foco do arquivo que estou editando, que compila meu código usando:
"cmake -Bbuild -H. & amp; cmake --build build / - -j4 -w" que me mostra a compilação ao vivo e só me permite fechá-lo novamente usando outro botão quando não preciso mais dele

Então, como posso executar um comando complexo usando: terminal, deixando o foco na divisão original?

user2741831
fonte

Respostas:

1

Tanto quanto eu sei que você não pode agora. Você pode executar um comando (comando: ter) ou um shell (: ter), mas não pode colocar o comando no shell aberto.
: ter cmake -Bbuild -H. & amp; & amp; cmake --build build / - -j4 -w
irá iniciar a compilação, mas você terá que voltar para a outra janela com C-Ww ou C-Wk ou C-Wj ou C-Wh ou C-Wl. Então você pode continuar a digitar enquanto assiste a compilação.
nmap & lt; líder & gt; b: ter cmake -Bbuild -H. & amp; & amp; cmake --build build / - -j4 -w
Coloque isso no seu .vimrc. Se você pressionar o líder, então b iniciará. O líder padrão é \ se você não alterou ainda.
Você pode fazer isso com o Tmux provavelmente.

Edit: Você pode fazer isso!
função! s: Buildit ()
Ter cmake -Bbuild -H. & amp; & amp; cmake --build build / - -j4 -w
wincmd w
endfunction
com! Buildit chamam s: Buildit ()
nnoremap & lt; líder & gt; b: Buildit

user2773829
fonte