fishを使用した感想
基本的にはとても優秀なShellです。非の打ち所が無いと言っても過言ではないほど使い勝手が良いです。
ですが、最近ではZshに逆戻りしてしまっています。
良い点
- 設定なしで高機能シェルが使える
私はPC間の移動が多いため、fishをインストールしてchshすれば簡単に環境が元通りになる点がとても強力だと感じています。zshでは.zshrcなどにつらつら書いたり、プラグインをインストールしたり、PC間の移動は相当面倒です。
- 設定が簡単
fish_config
上記のコマンドだけで見た目など変えられるのは手軽で良かったです。
- 動作が非常に軽量
これはC++で書かれているだけあって高速過ぎると思います。Bashはあまり使わないのでほぼカスタマイズなしです。fishと似た使い勝手になるようにzshにはauto-suggestions, zsh-autocomplete, zsh-syntax-highlightingを入れています。
以前にoh-my-posh等入れていたときはさらに遅かったです。
-> bash
-> zsh
-> fish
-> sh
良くなかった点
- 構文に慣れない
この一つに尽きると言っても過言ではないです。
bash, zsh, shはPOSIX準拠でほぼ同じ構文が使用できますが、fishは構文がそもそも違います。
そのため、sudo !!
などが使いたくても使えないんです。
色々な記事を見て、fishの設定ファイルに記述したり、キーバインドで解決したり等ありますが、やはり使っている側は、基本的な文法が使えないのやはり使いにくいです。
また、fishを改良していくとそれこそPC間の移動が大変になるため、それならzshで良いのではという考えになりました。ZshはPOSIX準拠なので使い勝手は非常に良いです。(遅いですが...)
また、zsh-autocompleteが便利すぎるのもfishから離れてきている理由です。
- NVMが使えない
これはNVMがそもそもPOSIX準拠のシェルしか対応していなかったためだと思います。いつもシェルを切り替えてNVMしていました。
以上です。