De vez em quando, M-! some_commanddescobri 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_commande prometo me usar da M-&próxima vez. Mas M-!está na minha memória muscular há décadas ... E é claro que Ctrl-Gsim, 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, bge 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-commandfaz. Ele adiciona um &ao final da COMMANDstring 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.