zshの見た目を良い感じにした


はじめに

MacOS Catalinaから標準となったzshですが、デフォルトのテーマでは殆ど色がなく無機質な感じがしますよね。

また、プロンプトにはユーザー名やPC名ではなく、作業ディレクトリのフルパスやGitブランチ名を表示させたいです。
そんな中で、見た目をお洒落にでき、かつフルパスやGitブランチ名を表示させることができるPowerlineというライブラリを見つけました。

お洒落なソフトウェアエンジニアの皆さんは是非ターミナルの見た目もお洒落にしていきましょう(ちなみに私自身はお洒落には無頓着です...)。

前提

  • 筆者の環境はMacOS 10.15.4です。
  • コマンドラインでgitを使用します。
  • iTerm2を使用することもできますが、今回はTerminal.appで設定します。
  • 本記事では、zshの設定フレームワークであるPreztoを用いて、zshにPowerlineを適用していきます。

手順

  1. Preztoのリポジトリをクローンします。
terminal
$ git clone --recursive https://github.com/sorin-ionescu/prezto.git "${ZDOTDIR:-$HOME}/.zprezto"

2. (あれば)既存の設定ファイルをzsh_origディレクトリに移動します。

terminal
$ mkdir zsh_orig && mv zshmv .zlogin .zlogout .zprofile .zshenv .zshrc zsh_orig

3. Preztoの各種設定ファイルを作成します。

terminal
setopt EXTENDED_GLOB
for rcfile in "${ZDOTDIR:-$HOME}"/.zprezto/runcoms/^README.md(.N); do
  ln -s "$rcfile" "${ZDOTDIR:-$HOME}/.${rcfile:t}"
done

注意
手順2でzsh_origに移動したファイルの設定値を使いたい場合は、ここで新たに作成された各ファイルに追記します。.zshrcはそのまま上書きしてしまっても良いですが、その際は以下を追記してください。

.zshrc
source "${ZDOTDIR:-$HOME}/.zprezto/init.zsh"

4. Zshを再起動するとPreztoのテーマが適用されています。下記のコマンドでテーマをPowerlineに設定します。

terminal
$ prompt powerline

5. この状態でプロンプトが文字化けしてしまっている場合は、Powerline Fontのインストールが必要です。
今回はRicty for Powerlineを使用することとします。
以下のコマンドでインストールできます。

terminal
$ brew tap sanemat/font
$ brew install ricty --with-powerline
$ cp -f /usr/local/Cellar/ricty/4.0.1/share/fonts/Ricty*.ttf ~/Library/Fonts/
# バージョン名の4.0.1は適宜変更
$ fc-cache -vf

6. インストールが完了したら、
ターミナル > 環境設定 > プロファイル > フォント
から、フォントを
Ricty Regular for Powerline
に設定します。

7. Hello Powerline Shell!
プロンプトに良い感じでフルパスやgitのブランチ名が表示されています。

8. テーマの永続化

この状態では再起動するとテーマが初期化してしまうので、
~/.zprestorczstyle :prezto:module:prompt theme
で始まる行を以下のように編集します.

~/.zpreztorc
zstyle ':prezto:module:prompt' theme 'powerline'

sourceコマンドで反映します。

$ source ~/.zpreztorc

参考