De vez em quando, M-! some_command
descobri que o comando é executado mais do que eu esperava e mantém meu emacs congelado por longos segundos. Então eu olho para o meu emacs congelado e me chuto por não usar M-& some_command
e prometo me usar da M-&
próxima vez. Mas M-!
está na minha memória muscular há décadas ... E é claro que Ctrl-G
sim, mas há casos em que não é preferível interromper o comando e reexecutá-lo (talvez possa quebrar o sth, talvez seja caro executá-lo novamente).
Erro semelhante no shell konsole é trivial de corrigir Ctrl-Z
, bg
e o trabalho está sendo executado em segundo plano.
Existe algum truque semelhante no emacs - uma maneira de transformar o comando em primeiro plano (síncrono) atualmente em execução em um segundo plano (assíncrono)?
Nota: caso seja impossível por padrão M-!
, estou aberto a sugestões de como voltar a criar M-!
outra coisa (o que seria funcionalmente equivalente além desse truque).
M-!
para async-shell-command
. :-) Parece que a única coisa que você perde é obter a saída na área de eco quando ela é curta o suficiente.
async-shell-command
faz. Ele adiciona um &
ao final da COMMAND
string e é executado shell-command
.
&
no final de um regularshell-command
(M-!
) o tornará assíncrono. Obviamente, você deve fazer isso antes de executar um comando, mas pelo menos pode usar a mesma combinação de teclas.