ham*_*man 16 git zsh bash-completion zsh-completion oh-my-zsh
无论我尝试做什么,我似乎无法在我的zsh shell中进行git tab/auto completion工作.我已经下载了bash-completion脚本和zsh-completion脚本,并按照说明操作,但我无法使其工作.
我重新安装了oh-my-zsh,但似乎没有帮助或有任何区别.
任何能够让它工作的人都可以向我描述他们的设置,这样我就可以尝试模仿它以使其适合我吗?
具体来说,到目前为止我所做的是:
~/.completion/git/git-completion.sh
~/.zsh/_git
zstyle ':completion:*:*:git:*' script ~/.completion/git/git-completion.sh
没运气.
ham*_*man 15
答案是alias git=hub
我的.zshrc
文件中有.有关hub的信息,请参阅https://github.com/github/hub(非常棒).
这里是关于我在hub和git完成时遇到的问题的信息的链接:https://github.com/github/hub/issues/586#issuecomment-47727226
Iva*_*sov 15
实际上,ZSH 确实知道如何进行git完成,但是您需要打开完成功能本身(根据您描述的步骤,我想您还没有完成)
添加到您的.zshrc
应该足够了:
autoload -Uz compinit && compinit
Run Code Online (Sandbox Code Playgroud)
放入行.zshrc
文件之后,别忘了为ZSH重新启动Shell以选择新配置(或者,您可以在当前会话中执行该行,这将为该会话启用自动完成功能)
有关更多信息,请参见此处https://git-scm.com/book/zh/v2/Appendix-A:-Git-in-Other-Environments-Git-in-Zsh
PS这里的另一个答案是建议安装该hub
工具:尽管该工具很方便,但它只是git的第三方(github社区)包装。因此,它与“ ZSH中的Git完成”主题无关。
对于2019年的观众:
如果您使用ZSH:
brew install hub
mkdir ~/.zsh
和 mkdir ~/.zsh/completions
一旦你有你的目录中创建和安装集线器,您必须cp
将hub.bash_completion.sh
文件到本地zsh/completion
文件夹中。
(我的是cp /usr/local/etc/bash_completion.d/hub.bash_completion.sh ~/.zsh/completions/_hub
)
然后,将以下行添加到~/.zshrc
文件中:
fpath=(~/.zsh/completions $fpath)
autoload -U compinit && compinit
Run Code Online (Sandbox Code Playgroud)
然后source ~/.zshrc
,瞧!您应该有可用的git完成
来源:https : //github.com/github/hub/tree/master/etc#zsh
归档时间: |
|
查看次数: |
9179 次 |
最近记录: |