ターミナルzshをカスタマイズする

はじめに

Mac Mini M4 Proを買って数ヶ月経つが、、未だにシェルをデフォルトで使っていて綺麗でないので、これを調整していく。 その前に使っていたmacbookはカスタマイズ済みで、この記事を参考に行っていた。

しかし、該当記事は古くなっていて、おそらく今の最適解ではない。 例えば、Preztoは遅いらしい。 そこで、自分の環境構築メモとしてここに書いていこうと思う。

ちなみに、今のターミナルはこんな感じ。(iTerm 2済み)

初期ターミナル

導入

iTerm 2

brew install --cask iterm2

iTerm2 - macOS Terminal Replacement

定番のターミナルエミュレータ。ターミナルエミュレータとよく聞くが、何故ターミナルのみでなく『エミュレータ』と呼ぶのか分かっていない。 軽く調べたところ*1、ターミナル上でコマンドが動いているわけでなく、あくまでこのターミナルの画面はリモコンであり、動作はOS上で行われているかららしい。

定番ではあるが、iTerm 2である理由は特にない。macOSの標準ターミナルはさすがに貧弱だと感じるから、iTerm 2を入れているという程度。 ターミナルエミュレータは他にもHyperWarpなどを聞くが、これらの優位性がピンときていない。 使用するにはアカウント登録が必要で、ターミナルにもわざわざアカウントを紐付けるというのは面倒だなと感じる。 AIとか使えるらしいが、コマンドを打つときにAIがあったら便利そうだなとあまり思えていないのも理由だ。

Iceberg

iceberg

GitHub - YusukeSano/iterm2-iceberg: Dark blue color theme for iTerm2

定番のカラーテーマ。前は黒いダーク版しかなかったと思うのだが、今はライト版もあるらしい。 初めに使ったからというのが大きいと思うが、色合いが気に入っている。

導入方法はリンク先を参照。

Sheldon

brew install sheldon

sheldon init --shell zsh

echo 'eval "$(sheldon source)"' >> .zshrc

GitHub - rossmacarthur/sheldon: :bowtie: Fast, configurable, shell plugin manager

プラグインマネージャー。なんかPreztoよりも速いらしい。 コマンド経由で色々なプラグインをインストールできるのが嬉しい。

Pure

pure
sheldon add pure --github sindresorhus/pure --use async.zsh pure.zsh

GitHub - sindresorhus/pure: Pretty, minimal and fast ZSH prompt

テーマ?と言えば良いのか分からない。 画像のように現在のディレクトリを表示してくれて、改行が挟まって見た目が綺麗になる。

zsh-autosuggestions

zsh-autosuggestions

sheldon add zsh-autosuggestions --github zsh-users/zsh-autosuggestions --use '{{ name }}.zsh'

GitHub - zsh-users/zsh-autosuggestions: Fish-like autosuggestions for zsh

fishシェルのようなサジェストが入れられる機能。画像のように薄くサジェストされる。

リンク先の動画を見た方が分かりやすいとは思う。

syntax-highlighting

syntax-highlighting

sheldon add zsh-syntax-highlighting --github zsh-users/zsh-syntax-highlighting

GitHub - zsh-users/zsh-syntax-highlighting: Fish shell like syntax highlighting for Zsh.

fishのように色付けしてくれるらしい。

まとめ

これでかなり綺麗なターミナルにできた。 フォントはもう少し変えても良いかも?

enhancdは入れてみようと思ったが、入れ方が悪かったのかあまり便利に使えなかったので除外した。 入れ方もちょっと複雑で、うーんという感じ。 素直にcdからtabを押しまくる方が楽だと思った。

ここまでSheldonに触れてみて分かったが、設定ファイルの書き方がかなり分かりやすくて、躓いたときの対応がしやすい。 気軽にプラグインを試しやすいマネージャーだと思う。