Gostaria de executar um processo em segundo plano no Vim no Mac OS X (ou Unix em geral).
Espero e espero que o seguinte, ou alguma variante, consiga isso:
execute "!my_command &"
ou
!my_command &
ou
!my_command \&
ou alguma outra alternativa.
Infelizmente, isso não parece ser executado my_command
. Eu esperaria que houvesse alguma opção leve.
Uma opção seria escrever um script de wrapper que bifurque o comando e saia, mas tenho certeza que alguém já fez isso ( GNU Parallel ?).
Qual é o melhor jeito de concluir isso?
Respostas:
Isso pode ocorrer porque
my_command
precisa de um terminal para interagir. Você pode fornecer um com a tela GNU ou tmux, por exemplo:Ou:
fonte
tmux
funcionou como esperado. Muito obrigado @Thor.Todos os comandos abaixo funcionam conforme o esperado quando executados no MacVim (instantâneo 66), e tenho certeza de que funcionariam na minha caixa do Ubuntu em casa:
Se não funcionar, você pode tentar um dos poucos scripts que permitem executar comandos assíncronos:
(e acabei de ver que Thor resolveu seu problema)
fonte
shell
oushellcmdflag
?/bin/bash
e-c
respectivamente.