diff --git a/shell/key-bindings.zsh b/shell/key-bindings.zsh index 2433d98..6330614 100644 --- a/shell/key-bindings.zsh +++ b/shell/key-bindings.zsh @@ -87,10 +87,15 @@ fzf-cd-widget() { zle redisplay return 0 fi - BUFFER="cd ${(q)dir}" - unset dir # ensure this doesn't end up appearing in prompt expansion - zle accept-line + if [ -z "$BUFFER" ]; then + BUFFER="cd ${(q)dir}" + zle accept-line + else + print -sr "cd ${(q)dir}" + cd "$dir" + fi local ret=$? + unset dir # ensure this doesn't end up appearing in prompt expansion zle fzf-redraw-prompt return $ret }