Назад | Перейти на главную страницу

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

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

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

ctrlz () {
  if [[ $#BUFFER -eq 0 ]]; then
    fg
    zle redisplay
  else
    zle push-input
  fi
}
zle -N ctrlz
bindkey '^Z' ctrlz