bashからzshにお引越しした

f:id:ksmxxxxxx:20200621210457p:plain

経緯

Mojaveから、重い腰を上げてCatelinaにアップデートしたら、

The default interactive shell is now zsh. To update your account to use zsh, please run chsh -s /bin/zsh. For more details, please visit https://support.apple.com/kb/HT208050.

って言われたので、これを機にbashの設定をzshにお引越しした。

bashもそのまま使えるみたいなので無理に変えることもないけど、前から興味があったので変えてみたって感じ。

やったこと

  1. とりあえず雑に.bashrc.bash_profilezshの設定ファイルに移す。
  2. .zshrcにプロンプト表示のカスタマイズを書き直す。

zshの設定ファイルを整理

zshの設定アイルの読み込み順がイマイチわからなかったので、調べながら適切とおもわれる感じに書き換えた。

Rubyやnvm、MySQLなどのPATHを通す必要なものがあるので、これはログインシェルとインタラクティブシェルときに読み込んでほしいので、.bash_profile にあったのを .zshenv に移しました。

エイリアスやプロンプトの設定は、.bashrcから.zshrcに移しました。

設定ファイルの読み込み順については man zshしてSTARTUP/SHUTDOWN FILESってところにそれっぽい説明が書かれてました。

ただ、英語不得手のDeepL片手の小生は少し不安だったので、Qiitaの記事も少し参考にしてます……。

zsh.sourceforge.net

qiita.com

git-prompt.shを使って、プロンプトにgitの表示を追加する

bashのときも使ってたgit-prompt.shを使って、プロンプトにgitブランチを表示する設定を追加します。

# Git
source ${HOME}/.zsh/git-prompt.sh
GIT_PS1_SHOWDIRTYSTATE=true
GIT_PS1_SHOWUNTRACKEDFILES=true
GIT_PS1_SHOWSTASHSTATE=true
GIT_PS1_SHOWUPSTREAM=auto

# Prompt
setopt promptsubst ; PS1=$'\e[36m\▲%n:%c\e[00m\$(__git_ps1 " \e[1m\033[31m\[%s]\033[00m\")\n\e[36m\%#\e[00m\ '

f:id:ksmxxxxxx:20200621204306p:plain

こんな表示になってればOKです。

ブランチ名の後ろに表示される記号についてはgit-prompt.shに詳しく説明が書いてあります。

github.com

medium.com

qiita.com

参考

zshのマニュアル zsh: Table of Contents

zshの設定ファイルの読み込み順序と使い方Tipsまとめ - Qiita

[macOS]zshでgitのブランチ名を表示させる - 村上 幸雄 - Medium

ターミナルの表示内容(プロンプト)の変更・カスタマイズ方法まとめ - Qiita

git/git-prompt.sh at master · git/git

最後に

manコマンド便利すぎる。

わからなかったときはとりあえずmanコマンドつかっとけ。