Se você não quiser usar loops, suas opções são limitadas, pois isso basicamente impede que você reinicie o programa automaticamente novamente.
Ainda assim você pode pelo menos cortar o passo com ↑ usando o widget accept-and-hold
. Isso executa a linha de comando atual (assim como accept-line
, que normalmente é ligado a Enter ), mas também o empurra para a pilha de buffer, para que seja automaticamente puxado no próximo prompt (efetivamente, o comando permanece no prompt após a execução). Por padrão, ele está ligado a Alt + a no modo emacs , mas pode ser ligado facilmente a outro atalho. Por exemplo, para Ctrl + F (porque F é um pouco acima de C :
bindkey "^F" accept-and-hold
Então você apenas tem que iniciar seu programa com Ctrl + F e então pressionar Ctrl + C , Ctrl + F para parar e reiniciá-lo.