Alterna de volta para o VIM antes que o comando shell termine

1

Ao executar um comando shell no VIM, ele aguarda o término do comando. Você pode pressionar Enter para voltar ao VIM, mas só voltará após o término do comando. No caso de uma tarefa shell mais longa, seria mais vantajoso voltar ao VIM para continuar trabalhando, e verificar a saída do shell mais tarde.

Qual é a maneira mais simples de:

  1. Executar um comando do shell ( :!jshint % )
  2. Volte para o VIM antes que o comando termine.
  3. Volte a verificar a saída mais tarde. (A maneira mais fácil que encontrei é :! )
por Joseph Jaber 28.03.2014 / 23:02

1 resposta

6

Você pode executar qualquer comando, como em um shell normal com & para enviá-lo para o plano de fundo:

:! (long_running command) & 

e retornar ao vim.

Embora você deva observar, se os comandos emitirem algo, isso fará com que o vim pareça confuso. Se o seu comando não produzir nada, acho que você deve estar bem.

Se o seu comando gerar texto, você poderá considerar:

:! (long_running command >output 2>&1) &

se você quiser ter stdout e stderr em um arquivo ou

:! (long_running command >output.stdout 2>output.stderr) &

se você quiser que eles estejam em arquivos separados.

    
por 28.03.2014 / 23:08

Tags