fancy-ctrl-z () { emulate -LR zsh if [[ $#BUFFER -eq 0 ]]; then [[ -n $(jobs -s) ]] && bg zle redisplay else zle push-input fi } zle -N fancy-ctrl-z bindkey '^Z' fancy-ctrl-z function fancy-ctrl-d() { zle || exit 0 [[ -n $BUFFER ]] && return typeset -g precmd_functions=(fancy-ctrl-d) zle accept-line } zle -N fancy-ctrl-d bindkey '^D' fancy-ctrl-d setopt ignore_eof # word navigation for urxvt bindkey -e bindkey ';5C' emacs-forward-word bindkey ';5D' emacs-backward-word autoload -Uz url-quote-magic bracketed-paste-magic zle -N self-insert url-quote-magic zle -N bracketed-paste bracketed-paste-magic