Di tanto in tanto mi capita M-! some_command
solo di scoprire che il comando viene eseguito più a lungo del previsto e mantiene i miei emacs congelati per lunghi secondi. Quindi guardo i miei emacs congelati e mi prendo a calci per non usare M-& some_command
e mi prometto di usare la M-&
prossima volta. Ma M-!
è nella mia memoria muscolare da decenni ... E ovviamente c'è Ctrl-G
, ma ci sono casi in cui rompere il comando e rieseguire non è preferibile (forse può rompere sth, forse sarebbe costoso ripetere ...).
Errore simile in Konsole shell è banale per corretta, Ctrl-Z
, bg
e lavoro è in esecuzione in background.
Esiste qualche trucco simile in emacs - un modo per trasformare il comando in primo piano (sincrono) attualmente in esecuzione in uno in background (asincrono)?
Nota: nel caso in cui sia impossibile per impostazione predefinita M-!
, sono aperto a suggerimenti su come ricollegarsi M-!
a qualcos'altro (cosa sarebbe funzionalmente equivalente a parte questo trucco).
M-!
a async-shell-command
. :-) Sembra che l'unica cosa che perdi sia ottenere l'output nell'area dell'eco quando è abbastanza corta.
async-shell-command
. Aggiunge un &
alla fine della COMMAND
stringa ed esegue shell-command
.
&
alla fine di un normaleshell-command
(M-!
) lo renderà asincrono. Ovviamente, devi farlo prima di eseguire un comando, ma almeno puoi usare lo stesso keybinding.