Estaba un poco confundido por:
% vim tmp
zsh: suspended vim tmp
% kill %1
% jobs
[1] + suspended vim tmp
% kill -SIGINT %1
% jobs
[1] + suspended vim tmp
% kill -INT %1
% jobs
[1] + suspended vim tmp
Así que renuncié a "hacerlo yo mismo" y me pregunto por qué más tarde:
% fg
[1] - continued vim tmp
Vim: Caught deadly signal TERM
Vim: Finished.
zsh: terminated vim tmp
%
Oh!
Tiene sentido realmente, ahora que lo pienso, eso vim
tiene que estar ejecutándose para que se le diga a su manejador de señales que abandone, y que lo haga.
Pero obviamente no es lo que pretendía.
¿Hay alguna manera de "despertar y salir" en un solo comando? es decir, un alias incorporado para kill %N && fg %N
?
¿Por qué no funciona reanudar en segundo plano? Si yo en bg
lugar de fg
, Vim permanece vivo hasta que yo fg
, lo que rompe mi intuición anterior.