🐟

Mac で fish shell 環境を10分で構築する

2020/12/30に公開1

はじめに

fish は速くて使いやすい shell です。数年前に zsh から乗り換えましたが快適に使えています。

直近で Mac で fish shell の環境を構築する機会が2回ほどありましたので、その手順を簡単に残しておこうと思います。ちなみに M1 Mac でも問題なく動作しました。

Install

Homebrew が入っている前提の話になります。

$ brew install shell

デフォルト Shell に変更

/etc/shells の末尾に fish を追加します。

$ sudo vi /etc/shells
# List of acceptable shells for chpass(1).
# Ftpd will not allow users to connect who are not using
# one of these shells.

/bin/bash
/bin/csh
/bin/dash
/bin/ksh
/bin/sh
/bin/tcsh
/bin/zsh
/usr/local/bin/fish

以下を実行すると fish がデフォルトになります。

$ chsh -s /usr/local/bin/fish

fisherman & oh-my-fish

パッケージマネージャーの fisher とテーマのインストールのため oh-my-fish をインストールします。

$ curl -Lo ~/.config/fish/functions/fisher.fish --create-dirs git.io/fisher
$ curl -L https://get.oh-my.fish | fish

テーマの変更

bobthefish は読みやすく便利なテーマなので、こちらを採用します。

$ omf install bobthefish

Powerline フォントが必要なので、以下でパッチをインストールします。コマンド実行後 for Powerline 系のフォントがインストールされているので、ターミナルのフォントの変更を行います。

$ git clone git@github.com:powerline/fonts.git
$ cd fonts
$ ./install.sh
$ cd ..
$ rm -rf fonts

履歴系のプラグイン

履歴系のプラグインを入れておくと便利です。

$ fisher install z
$ fisher install 0rax/fish-bd

Git 管理系プラグイン

Git の管理には peco + ghq が快適だったので、こちらを使います。

$ brew install peco ghq
$ fisher install oh-my-fish/plugin-peco yoshiori/fish-peco_select_ghq_repository

キーバインド設定を入れます。

$ vim ~/.config/fish/config.fish
function fish_user_key_bindings
  bind \cr 'peco_select_history (commandline -b)'
  bind \c] peco_select_ghq_repository
end

以上で完了です。お疲れ様でした。

まとめ

良いプラグインを見つけたら紹介したいと思います。

参考

Discussion

fetarofetaro

brew install shell ではなくbrew install fishではないでしょうか?