Переключить процесс переднего плана

Ctrl-z приостанавливает процесс переднего плана, но когда на переднем плане ничего нет, это не имеет никакого эффекта. Я хочу перегрузить ctrl-z, чтобы, когда на переднем плане ничего не было, возвращался последний приостановленный процесс. Таким образом, нажатие ctrl-z переключает процесс переднего плана. Как бы вы это сделали?

Кстати, я использую zsh, но все, что работает в bash, тоже должно работать. Я в терминале на OS X

1 ответ

Решение
ctrlz () {
  if [[ $#BUFFER -eq 0 ]]; then
    fg
    zle redisplay
  else
    zle push-input
  fi
}
zle -N ctrlz
bindkey '^Z' ctrlz
Другие вопросы по тегам