かなり今更感ありますが、、長年使っていた fish シェルに区切りをつけて zsh に移行しました。
これまで使い勝手の良さから fish シェルを利用していましたが、
ある程度ターミナル操作も慣れてきてから、fish では不便なことも増えてきました。
これを機に、Mac のデフォルトである zsh に戻そうと思います。
移行する理由
fish で愛用していた便利な機能が zsh でも実現できそうなことに気づいたからです。
-
~/.zshrcの完成度でフレンドリーなシェルになる- fish は初期設定でも zsh より使い勝手がいいですが、結局プラグイン追加してカスタマイズしたら zsh と変わらない?
- zsh プラグインが充実している
- コマンド補完機能ある
- sheldon で管理
- abbreviations も で代替えできる(略語という意味)
- alias よりこちらが好み
- 例)g + (space) を入力すれば git になる
- ただし既存のコマンドは上書きできない?
-
abbr ls='exa --icons'のようなのは NG
-
また fish を使う上でデメリットに感じる部分はやはりあります
- POSOX 準拠ではない
- 一般的なシェルスクリプトがそのまま動かない
- 他の Linux で実行したコマンドをローカルで試したい時など地味にストレス、、
- for 文など他にも様々
- 一般的なシェルスクリプトがそのまま動かない
- fish をサポートしていないツールがまだある
- 基本的に zsh が先にサポートされている
- 補完なども対応してほしい
その他の変更点
- starship → powerlevel10k に移行しました
- zsh のテーマを設定するプラグインです
少し使ってみて
zsh プラグインなども活用して使いやすいターミナルにセットアップしたことで、fish には戻れないくらい快適になりました。
(今後は fish 用にシェルスクリプト描かなくて良くなる)
ただ fish は長年お世話になったとても良いシェルです。
「ターミナルってかっこいい」と思えたきっかけも fish シェルです。
zsh はデフォルトの状態では bash のような質素なシェルですが、
カスタマイズ次第で fish のようにイケてるものになることを知りました。
これからは fish に感謝して zsh をカスタマイズしていこうと思います。