【シェル】ずっと『bash』だったけど『fish』に移行した

デフォルト設定でもイイ感じな『fish』っていう素敵シェルがあると聞いて。

fishshell.com

インストール

Homebrewでインストールできます。

$ brew install fish

デフォルトのシェルをfishに変更

$ which fish | xargs chsh -s

上記のコマンド実行後にターミナル再起動すればOK

もし

chsh: /path/to/fish: non-standard shell

上記のようなエラーが出る場合は /etc/shells の末尾にfishへのパスを追記しましょ。

さっそく使ってみる

デフォルトでも使えるオートサジェスチョン機能が強力。
コマンドを打ち始めると自動でサジェストしてきます。
サジェストしてくれたコマンドを受け入れる場合は ctrl + f で幸せになれます。
https://fishshell.com/docs/current/index.html#autosuggestions

TAB補完機能も充実していて、例えばgitコマンドのオプションやブランチなども補完してくれます。
https://fishshell.com/docs/current/index.html#completion

あと、bashだと ctrl + r で使えるコマンド実行履歴検索(reverse-i-search)機能ですが、コマンド入力途中で ctrl + p とすると、入力した文字列に部分一致するコマンドを履歴から検索して遡ることができます。
行き過ぎたら、 ctrl + n すれば大丈夫。
github.com

エイリアス追加したり、プロンプト変更したり、独自機能いれたり、色々するつもりだけど、ひとまずデフォルトでこれだけ使えれば十分。むしろ最高。