pet_select () { BUFFER=$(pet search --query "$LBUFFER") CURSOR=$#BUFFER zle redisplay } zle -N pet_select bindkey '^s' pet_select prev () { PREV=$(fc -lrn | head -n 1) sh -c "pet new $(printf %q "$PREV")" } run_ranger () { echo ranger < $TTY zle redisplay } zle -N run_ranger bindkey '^f' run_ranger