柚子胡椒ブログ

技術力のカケラもない柚子の書き溜め備忘録

投稿者: yuzukichi

  • macOS Catalinaにfish shellを導入する

    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は辛かったからダウングレードしたってだけですヨ。  

  • Hello world!

    WordPress へようこそ。こちらは最初の投稿です。編集または削除し、コンテンツ作成を始めてください。