fish shellは、macOSのターミナルで使われているシェルを変えるものです(概要)。
たしかmacOS Sierra以前はbashで、macOS High Sierra以降はzshというものがデフォルトだった気がします。
ということで早速導入していきます。
1. fishの導入
ここではmacOS定番のパッケージマネージャーHomebrewを使ってインストールをします。
brewは必須ではなく、fish shellのホームページからインストーラーも落とせるっぽいので、ない人はそっちでも良さそう(未検証)。
~% brew install fish
~% fish
これで、コンソールが↓みたいになっていればfishの導入完了です。
yuzukichi@YuMac ~>
2. fishをデフォルトシェルに変更する
1のままだと、fishを使用するのにわざわざ毎回fishを起動させる必要があります。
なので、ここでは起動時に勝手にfishに切り替わるように設定します。
~> echo /usr/local/bin/fish | sudo tee -a /etc/shells
~> chsh -s /usr/local/bin/fish
どちらのコマンドもパスワードを求められます。
1つ目のコマンドでfishをシェルに登録し、2つ目のコマンドでデフォルトシェルをfishに切り替えています。
そしたら一度ターミナルを終了(⌘Qで確実に)し、再度ターミナルを開いてみます。
もう一度開いた時にfishの状態で起動していれば成功、色も味気もないzshのままだったら失敗しています。
その場合はエラーを読んでみましょう。たぶん人によっては1つ目のコマンドで失敗する可能性があります。
(あとは単純にOSバージョンによってパスが微妙に変わってたりするかも)
3. 自分好みのfishにカスタマイズ
ここまできたらもうfishの虜になるまですぐです。
GitHubにあるoh-my-fishから好きなテーマを選んで変更してみましょう。
~> curl -Lo ~/.config/fish/functions/fisher.fish --create-dirs https://git.io/fisher
私が好きなのは無難なbobthefishです。皆さんも好みのを見つけて、次の文を各自書き換えて実行してみてください。
~> fisher install oh-my-fish/theme-bobthefish
昔はコマンドがfisher add
だったので、もしコマンドで怒られた場合はfisher --help
とかでコマンドの確認をしてみてください。
成功するとまたもやシェルの見た目が変わります。そして文字化けしています。
この文字化けの対処として、対応したフォント『powerline font』をインストールします。
git clone https://github.com/powerline/fonts.git
cd ./fonts/
./install.sh
cd ..
rm -rf ./fonts
gitが入ってなかった人はbrew install git
とかで入れてみてください。それかgitのホームページからインストールしてみてください。
成功したら環境設定(⌘,)を開いて、フォントの変更をしましょう。
対応しているフォントは複数あります。目印は名前が『〜〜 for Powerline xx』となっていることです。
選択すればその場でシェルのフォントは変わりますので、お気に入りのフォントを見つけましょう。
一緒に文字化けも解消されているはずです。
ちなみに私は『Roboto Mono for Powerline』がお気に入りです。
これは『o0O』『iI1l』とかの紛らわしい文字の見分けが付けやすい&等幅なことから、読みやすさ抜群なためです。
そんな感じで、参考までに私のプロファイルです。
結論
今回はmacOS Catalinaのシェルをfishに変更しました。
Big Surでも同様に動作することは確認しましたので、しばらくはこれで行けるはずです。
え?なんでBig SurでやっていてCatalinaで導入し直してるのかって?
流石にiMac Late 2015モデルにBig Surは辛かったからダウングレードしたってだけですヨ。
Apple siliconからパスが正しく貼られないらしい
https://qiita.com/TORAPPU/items/b2809083af3cf967d70f