为 git
设置 bash 完成支持后(版本 2.14.5
在 Slackware Linux 14.2 上)使用来自 git 主存储库的文件 contrib/completion/git-completion.bash
并且已经为其他命令做了,我希望得到 < strong>git 命令 作为常用 TAB 完成 命中的完成词,例如 git [TAB][TAB]
。例如:
$ git c[TAB][TAB]
checkout commit clone ...
不是获取任何git 命令,如checkout
、commit
或其他,仅建议或完成文件名。然而,当使用像 git --b[TAB][TAB]
这样的破折号请求完成时,建议使用像 --bare
这样的 git options或完成得很好。
我知道,那里有很多类似的问题,但尽管搜索了答案,但我找不到合适的解决方案来解决这个问题。
git-completion.bash
文件来源正确;使用采购后。 git-completion.bash
其功能在执行 bash 环境中可用,如declare -f
所示。progcomp
shell 选项打开
。- git 完成函数被注册为
complete -p git
的输出显示:$ complete -p git complete -o bashdefault -o default -o nospace -F __git_wrap__git_main git
- 在检查了来源的
git-completion.bash
文件之后,我可以说,完成函数__git_wrap__git_main
是在git [TAB]
上调用的命中,但在请求没有双破折号--*
时,
COMPREPLY
变量未填充完成词
有人知道为什么只有 git 选项 完成而 git 命令 没有完成吗?
最佳答案
自 Git 2.14 以来,在完成方面有了很多改进(特别是 Git 2.18),我会首先检查 Git 2.26 是否仍然存在同样的问题(可能是 using slpkg)
关于bash - Git bash 完成没有按预期完成 git 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60854423/