Zshcontrib

zsh中使用git的一些配置建议

Zsh 为 Git 提供了一个 Tab 补全库。 想要使用它,只需在你的 .zshrc 中执行 autoload -Uz compinit && compinit 即可。 相对于 Bash,Zsh 的接口更加强大:

$ git che<Tab>
check-attr        -- 显示 gitattributes 信息
check-ref-format  -- 检查引用名称是否符合规范
checkout          -- 从工作区中检出分支或路径
checkout-index    -- 从暂存区拷贝文件至工作目录
cherry            -- 查找没有被合并至上游的提交
cherry-pick       -- 从一些已存在的提交中应用更改

有歧义的 Tab 补全不仅会被列出,它们还会有帮助性的描述,你可以通过不断敲击 Tab 以图形方式浏览补全列表。 该功能可用于 Git 命令、它们的参数和在仓库中内容的名称(例如 refs 和 remotes),还有文件名和其他所有 Zsh 知道如何去补全的项目。

Zsh 提供了一个从版本控制系统中获取信息的框架,叫做 vcs_info 。 把如下代码添加至你的 ~/.zshrc 文件中,就可以在右侧显示分支名称:

autoload -Uz vcs_info
precmd_vcs_info() { vcs_info }
precmd_functions+=( precmd_vcs_info )
setopt prompt_subst
RPROMPT=\$vcs_info_msg_0_
# PROMPT=\$vcs_info_msg_0_'%# '
zstyle ':vcs_info:git:*' formats '%b'

当你的命令行位于一个 Git 仓库目录时,在任何时候,都可以在命令行窗口右侧显示当前分支。 (当然也可以在左侧显示,只需把上面 PROMPT 的注释去掉即可。) 它看起来像这样:

...