【发布时间】:2021-05-21 03:51:46
【问题描述】:
我正在尝试让 git autocomplete 与 zsh 一起工作,但遇到了一个奇怪的错误(即使自动完成似乎成功完成):
安装:
mkdir -p ~/.zsh
cd ~/.zsh
curl -o git-completion.bash https://raw.githubusercontent.com/git/git/master/contrib/completion/git-completion.bash
curl -o _git https://raw.githubusercontent.com/git/git/master/contrib/completion/git-completion.zsh
添加到~/.zshrc:
zstyle ':completion:*:*:git:*' script ~/.zsh/git-completion.bash
fpath=(~/.zsh $fpath)
autoload -Uz compinit && compinit
我打开一个新的 shell 并运行 git checkout + "ty" + tab,我希望它能够使用 "typescript" 自动完成而没有错误:
raine[npm-check-updates]% gc ty__git_find_on_cmdline:[:7: unknown condition: -lt ✓
__git_find_on_cmdline:[:7: unknown condition: -lt
__git_find_on_cmdline:[:7: unknown condition: -lt
pescript
它会自动完成“打字稿”,但中间有一个错误,就在我点击标签的地方。是什么原因造成的,我该如何让它消失?
【问题讨论】:
-
script ~/.zsh/git-completion.bash在 zsh 中完成 Bash?不应该也是zsh补全吗? -
bash 完成脚本并不总是与 zsh 兼容。有正在进行的工作来解决这个问题,但是当他们不工作时,这只是意味着有人错过了一些东西。你可以使用 bash 代替 zsh,或者使用 zsh 脚本,或者参与正在进行的工作,或者任何你喜欢的,在这里。