【シェル】ずっと『bash』だったけど『fish』に移行した
デフォルト設定でもイイ感じな『fish』っていう素敵シェルがあると聞いて。
インストール
$ 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
エイリアス追加したり、プロンプト変更したり、独自機能いれたり、色々するつもりだけど、ひとまずデフォルトでこれだけ使えれば十分。むしろ最高。