我已经在.bashrc中编写了以下函数,但是它不起作用。
_fzf_complete_git() {
ARGS="$@"
local branches
branches=$(git branch)
if [[ $ARGS == 'git co'* ]]; then
_fzf_complete "--reverse --multi" "$@" < <(
echo "$branches"
)
else
eval "zle ${fzf_default_completion:-expand-or-complete}"
fi
}
[ -n "$BASH" ] && complete -F _fzf_complete_git -o default -o bashdefault git
注意:$ BASH是/ bin / bash
在我键入git co ** {tab}的命令提示符下,它显示以下内容:
$git co**{tab}
>co
仅当我删除“ co”时,它会显示我拥有的所有分支。
第二,选择一个分支后,命令提示符中的“ co”消失。
$git {selected branch}
请看看出了什么问题。
该代码示例摘自以下链接: