【zsh】绝对应该使用!在终端中显示并自动补全git分支名称【git-prompt / git-completion】

这篇文章中可以做的事项是什么。

    • ターミナルのプロンプトにgitのブランチ名を常に表示させる(git-prompt)

 

    gitコマンドをTab補完できるようにする(git-completion)
スクリーンショット 2020-10-17 22.36.17.png

首先

    • もともとbashを使っていた時は次の記事を参考に同様の設定をしていました

「Git補完をしらない」「git statusを1日100回は使う」そんなあなたに朗報【git-completionとgit-prompt】

しかし、macOSがCatalinaにアップデートされてからはzshがターミナルのデフォルトとなり、zshへと移行が進んでいると思います
自分も新しいPCでいいかげんzshを使い始めた&意外と情報がまとまっていなくて手間取ったため、今更感はありますが備忘録がてら書きました

确认环境

    macOS Catalina 10.15.7

准备 git-prompt / git-prompt

    • ソース元

https://github.com/git/git/tree/master/contrib/completion

mkdir ~/.zsh
cd ~/.zsh

curl -o git-prompt.sh https://raw.githubusercontent.com/git/git/master/contrib/completion/git-prompt.sh
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

git-completion.zsh は _git という名前にする

https://stackoverflow.com/questions/28028740/git-tab-completion-in-zsh-throwing-errors

在 .zshrc 文件中添加配置

# git-promptの読み込み
source ~/.zsh/git-prompt.sh

# git-completionの読み込み
fpath=(~/.zsh $fpath)
zstyle ':completion:*:*:git:*' script ~/.zsh/git-completion.bash
autoload -Uz compinit && compinit

# プロンプトのオプション表示設定
GIT_PS1_SHOWDIRTYSTATE=true
GIT_PS1_SHOWUNTRACKEDFILES=true
GIT_PS1_SHOWSTASHSTATE=true
GIT_PS1_SHOWUPSTREAM=auto

# プロンプトの表示設定(好きなようにカスタマイズ可)
setopt PROMPT_SUBST ; PS1='%F{green}%n@%m%f: %F{cyan}%~%f %F{red}$(__git_ps1 "(%s)")%f
\$ '

以上! !)

    より良いgitライフを!
广告
将在 10 秒后关闭
bannerAds