![为什么 zsh git 自动完成不如 bash?](https://linux22.com/image/1215727/%E4%B8%BA%E4%BB%80%E4%B9%88%20zsh%20git%20%E8%87%AA%E5%8A%A8%E5%AE%8C%E6%88%90%E4%B8%8D%E5%A6%82%20bash%EF%BC%9F.png)
zsh 被广泛推荐,被认为是目前最高级的 shell 之一。那么为什么我发现 zsh 的自动补全功能在很多方面都不如我习惯使用的 bash 呢?
特别是 zsh 中的 git 自动完成功能非常糟糕:
- 在 bash 中它知道完成分支和命令选项。但在 zsh 中却不是这样。
- 在 zsh 中,许多“git”命令(例如 git diff)之后甚至无法完成文件名。呃!
答案1
尝试升级到至少 Zsh 4.3.10。它修复了 Git 别名的问题。
答案2
git 的自动完成功能不是 bash 的内置功能,而是一个使用 shell 基本自动完成系统的附加“第三方插件”,您恰好已经安装了该系统(据我所知,它是 git 安装的一部分)。
对于 zsh,要么不存在类似的自动完成文件,要么您没有安装它。
尽管如此,这并不能说明任何一个 shell 的质量,它只是意味着有人努力为 bash 创建它,但对于 zsh,没有人愿意这样做(或者你只是没有安装它)。
答案3
我是一个 zsh 的新用户,但我安装的第一个东西是哦我的天啊。它是社区驱动的插件、主题和其他很棒的东西的集合。它有一套可靠的默认设置,对我来说“刚刚好用”。
它带来了一次有趣的体验,因为使用 zsh 的出色完成系统可以更清晰地管理本地和远程分支。
我的版本来自标准 Ubuntu 存储库:zsh 4.3.11 (x86_64-unknown-linux-gnu)
。我建议您尝试 oh-my-zsh,看看它是否像我一样开箱即用。