Escribo Ctrl+ Zpara "suspender" el comando que estoy escribiendo y escribo otro comando. Después de ejecutar ese comando (o abortarlo con Ctrl+ C), el comando suspendido regresa para edición (incluso recordando la posición del cursor). Como conveniencia adicional, si la línea de comando está vacía cuando escribo Ctrl+ Z, la tecla invoca el bg
incorporado en su lugar (entonces un doble Ctrl+Z envía un comando en ejecución directamente al fondo).
fancy-ctrl-z () {
emulate -LR zsh
if [[ $#BUFFER -eq 0 ]]; then
bg
zle redisplay
else
zle push-input
fi
}
zle -N fancy-ctrl-z
bindkey '^Z' fancy-ctrl-z
(Publicado anteriormente en Recordar un comando medio tipeado mientras reviso algo que principalmente tiene soluciones para bash, donde no se puede hacer nada tan conveniente. Esta es una versión un poco más elegante del enlace incorporado deM-q
topush-line
.)
Esto no ejecuta un subshell: el comando que escribe después de "suspender" el anterior se ejecuta en el mismo shell. Esto le permite hacer cosas como cambiar el directorio actual si se da cuenta después de escribir un comando que pretendía ejecutarlo en un directorio diferente. Si desea ejecutar una nueva instancia de shell, puede ejecutar zsh
desde un enlace de teclas, pero no creo que sea particularmente útil.