𝕏📘📖☁️

💤 fish から zsh に移行する 🐚

かなり今更感ありますが、、長年使っていた fish シェルに区切りをつけて zsh に移行しました 🔄

これまで使い勝手の良さから fish シェルを利用していましたが、ある程度ターミナル操作も慣れてきてから、fish では不便なことも増えてきました 😅

これを機に、Mac のデフォルトである zsh に戻そうと思います 🍎

Zsh

移行する理由

fish で愛用していた便利な機能が zsh でも実現できそうなことに気づいたからです 💡

  • ~/.zshrc の完成度でフレンドリーなシェルになる 🛠️
    • fish は初期設定でも zsh より使い勝手がいいですが、結局プラグイン追加してカスタマイズしたら zsh と変わらない?
    • zsh プラグインが充実している 📦
      • コマンド補完機能ある ✨
      • sheldon で管理
    • abbreviations でも代替えできる(略語という意味) 📝
      • alias よりこちらが好み
      • 例)g + (space) を入力すれば git になる
      • ただし既存のコマンドは上書きできない?
        • abbr ls='exa --icons' のようなのは NG

また fish を使う上でデメリットに感じる部分はやはりあります 😞

  • POSIX 準拠ではない ❌
    • 一般的なシェルスクリプトがそのまま動かない
      • 他の Linux で実行したコマンドをローカルで試したい時など地味にストレス、、😤
      • for 文など他にも様々
  • fish をサポートしていないツールがまだある 🚫
    • 基本的に zsh が先にサポートされている
    • 補完なども対応してほしい

その他の変更点

  • starship → powerlevel10k に移行しました ⚡
    • zsh のテーマを設定するプラグインです

少し使ってみて

zsh プラグインなども活用して使いやすいターミナルにセットアップしたことで、fish には戻れないくらい快適になりました 🎉 (今後は fish 用にシェルスクリプト書かなくて良くなる)

ただ fish は長年お世話になったとても良いシェルです 🐟

「ターミナルってかっこいい」と思えたきっかけも fish シェルです ✨

zsh はデフォルトの状態では bash のような質素なシェルですが、カスタマイズ次第で fish のようにイケてるものになることを知りました 💪

これからは fish に感謝して zsh をカスタマイズしていこうと思います 🙏

関連記事