De vez en cuando me doy M-! some_commandcuenta de que el comando se ejecuta más de lo esperado y mantiene mis emacs congelados durante largos segundos. Así que miro mis emacs congelados y me pateo por no usar M-& some_commandy me prometo usar la M-&próxima vez. Pero M-!está en mi memoria muscular durante décadas ... Y, por supuesto, lo hay Ctrl-G, pero hay casos en los que romper el comando y volver a ejecutarlo no es preferible (tal vez pueda romper algo, tal vez sea costoso volver a ejecutar ...).
Un error similar en shell konsole es trivial para corregir Ctrl-Z, bgy el trabajo se ejecuta en segundo plano.
¿Existe algún truco similar en emacs, una forma de convertir el comando actual en primer plano (síncrono) en uno en segundo plano (asíncrono)?
Nota: en caso de que sea imposible por defecto M-! , estoy abierto a sugerencias sobre cómo volver a vincular M-!a otra cosa (lo que sería funcionalmente equivalente aparte de este truco).
M-!a async-shell-command. :-) Parece que lo único que pierde es obtener la salida en el área de eco cuando es lo suficientemente corta.
async-shell-command. Agrega un &al final de la COMMANDcadena y se ejecuta shell-command.
&al final de un regularshell-command(M-!) lo hará asíncrono. Por supuesto, debe hacer esto antes de ejecutar un comando, pero al menos puede usar la misma combinación de teclas.