自分のMacBookのOSをCatalinaにアップデートしたので、Zsh対応をした


はじめに

最近、ようやく自分のMacBookのOSをCatalinaにアップデートしました。
Catalinaでデフォルトシェルが「Zsh」になることを知っていたので、それに伴って色々動かなくなるんじゃないかと様子見していましたが、それなりに時間も経過したと思うので、実験の意味も含めてアップデートしました。

対応内容

~/.bash_profileの内容を~/.zprofileにコピペ

~/.bash_profile には、元々Android SDKなどのパス設定を行っていました。

~/.bash_profile
export ANDROID_HOME=/Users/Hitoshi/Library/Android/sdk
export PATH=${PATH}:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools:$ANDROID_HOME/build-tools/28.0.3
export PATH="/usr/local/sbin:$PATH"
ANDROID_NDK_ROOT=$ANDROID_HOME/ndk-bundle
NDK=$ANDROID_NDK_ROOT
export PATH=${PATH}:$NDK
export PATH=$HOME/.nodebrew/current/bin:$PATH
export PATH=/Library/TeX/texbin:$PATH
export PATH=~/.local/bin:$PATH
export PATH=~/flutter/bin:$PATH
export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)
export PATH=${PATH}:$JAVA_HOME/bin

source ~/.bashrc

これに関しては、~/.zprofileを新規作成し、そこにsource ~/.bash_profileより上の内容をコピペするだけでOKでした。

~/.zprofile
export ANDROID_HOME=/Users/Hitoshi/Library/Android/sdk
export PATH=${PATH}:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools:$ANDROID_HOME/build-tools/28.0.3
export PATH="/usr/local/sbin:$PATH"
ANDROID_NDK_ROOT=$ANDROID_HOME/ndk-bundle
NDK=$ANDROID_NDK_ROOT
export PATH=${PATH}:$NDK
export PATH=$HOME/.nodebrew/current/bin:$PATH
export PATH=/Library/TeX/texbin:$PATH
export PATH=~/.local/bin:$PATH
export PATH=~/flutter/bin:$PATH
export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)
export PATH=${PATH}:$JAVA_HOME/bin

Gitコマンド対応

以下を参考に、コマンド補完&ブランチ名表示を行うようにしました。

~/.zshrc
autoload -Uz compinit && compinit
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'

すると、以下のように%の後ろにブランチ名が表示されるようになります。

が、%の前が何も表示されなくなってしまってイマイチ。。
まだZshについてあまり分かっていないので、誰かいい感じの設定方法あれば教えてください。。

参考

追記(Zshの設定)

上記で行ったGitコマンド対応をやらずとも、もっと簡単に設定する方法がありました。
「oh-my-zsh」というフレームワークをインストールすることです。
簡単にインストール&かなりいい感じに見やすくなるのでマジおすすめです。
インストール方法は、以下のいずれかで行うことができます。

  • curlの場合
sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
  • wgetの場合
sh -c "$(wget -O- https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

詳細は以下を参照してください。

あと、ターミナルアプリはMac標準のものよりも、「iTerm」を使ったほうが良さそうです。(今更)