diff --git a/zsh-fzf-history-search.zsh b/zsh-fzf-history-search.zsh index 295e7d9..ac90172 100644 --- a/zsh-fzf-history-search.zsh +++ b/zsh-fzf-history-search.zsh @@ -4,10 +4,15 @@ fzf_history_search() { setopt extendedglob candidates=(${(f)"$(fc -li -1 0 | fzf +s +m -x -e -q "$BUFFER")"}) - BUFFER="${candidates[@]/(#m)*/${${(As: :)MATCH}[4,-1]}}" - BUFFER="${BUFFER[@]/(#b)(?)\\n/$match[1] + local ret=$? + if [ -n "$candidates" ]; then + BUFFER="${candidates[@]/(#m)*/${${(As: :)MATCH}[4,-1]}}" + BUFFER="${BUFFER[@]/(#b)(?)\\n/$match[1] }" - zle end-of-buffer-or-history + zle vi-fetch-history -n $BUFFER + fi + zle reset-prompt + return $ret } autoload fzf_history_search