De vez en cuando me doy M-! some_command
cuenta 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_command
y 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
, bg
y 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 COMMAND
cadena 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.