export FZF_DEFAULT_OPTS="--layout=reverse --bind=ctrl-z:ignore,ctrl-a:select-all" fzf_history() { local selected=$(sed 's/^[^;]*;//' $HISTFILE | \ FZF_DEFAULT_OPTS="--height ${FZF_TMUX_HEIGHT:-40%} $FZF_DEFAULT_OPTS --tiebreak=index --tac --bind=ctrl-r:toggle-sort $FZF_CTRL_R_OPTS --query=${(qqq)LBUFFER} +m" fzf) local ret=$? if [ -n "$selected" ]; then BUFFER="$selected" fi zle reset-prompt return $ret } fzf_cd() { local start=${1:-.} local selected=$(find "$start" -type d -printf "%P\n" | \ FZF_DEFAULT_OPTS="--height ${FZF_TMUX_HEIGHT:-40%} $FZF_DEFAULT_OPTS $FZF_CTRL_R_OPTS --query=${(qqq)LBUFFER} +m" fzf) local ret=$? if [ $ret -ne 0 ]; then return $ret fi if [ -n "$selected" ]; then cd "$start/$selected" fi } zle -N fzf_history