fish - Macのシェル環境を新しくした
これまでシェルにそこまでこだわりがなかったのですが、身の回りの方々を見ていると、かっこいい・便利な感じにカスタマイズしている人が多く、「おっ、良さそうだな」と思ったので シェル環境を一新しました。
どのシェルを選ぶか
個人的な見解として、「死ぬほど時間かけてシェルの到達点を目指す」ならzsh、「設定ファイル書きたくないけどそれなりに便利に使いたい」ならfish、「Pythonで全部CLIやりたい」ならxonsh、「emacs lisp使ってる人」はらeshellって漢字で、もうbash選ぶ理由はほぼないと思ってる
— えぬなお☁nnao45 (@nnao45) 2018年9月11日
fish にします。
導入手順
Homebrew を使って導入します。
$ brew install fish $ fish -v fish, version 2.7.1
ログインシェル(デフォルトで立ち上がるシェル)を bash から fish に変更します。
$ sudo vi /etc/shells
# 末尾に以下を追加 /usr/local/bin/fish
保存した後、以下を実行します。
# ログインシェルを fish に変更 $ fish > chsh -s /usr/local/bin/fish
これで、次シェルを立ち上げたときも fish になります
パッケージマネージャー fisher を導入する
> curl -Lo ~/.config/fish/functions/fisher.fish --create-dirs https://git.io/fisher > fisher -v fisher version 3.1.1 ~/.config/fish/functions/fisher.fish
個人的にとりあえず以下の2つを入れてみて便利でした
- jethrokuan/z
~> z 移動したいディレクトリ名
で移動できる
- jethrokuan/fzf
- ディレクトリ検索やコマンド履歴検索が強力
環境変数とPATHの設定
fish の環境変数の設定ではexport AWS_ACCESS_KEY_ID=HOGE1234
というような見慣れた記法が使えません。
ターミナルに直接以下のようにset
を叩くか、~/.config/fish/config.fish
に以下を追記します。-x
は環境変数としてset
するオプションで、これがないとシェル変数として定義されます。
> set -gx AWS_ACCESS_KEY_ID HOGE1234
PATH は以下のように設定します。コロンで区切るのではなく、配列で管理されています。
> set -gx PATH $HOME/.rbenv/bin /usr/local/var/pyenv $PATH
テーマを変更する
結構、いろいろあります。今回は、ocean
を入れてみます。
fisher add oh-my-fish/theme-{color-theme-name}
で導入できます。
> fisher add oh-my-fish/theme-ocean Installing 1 plugin/s OK Fetch ocean github.com/oh-my-fish/theme-ocean Done in 1s 558ms
フォントによっては、アイコンが Apple Emoji になったりしますが、以下のような powerline 対応のフォントを導入すると良さそうです。
fonts/Meslo LG L Regular for Powerline.ttf at master · powerline/fonts · GitHub
iTerm2 を設定する
以下から設定を選ぶか、お好みのものをインポートします。
iTerm2 > Preferences > Colors > Color Presets...
自分が Ocean と合わせて使っているカラーセットは以下です。よければ、ダウンロードして使ってください。
自分のiTerm2の設定(oh-my-fish/oceanと併用)
さいごに
乗り換えてみて、とても便利ですし、いい意味で”驚きが少ない”(予想に反する挙動がない)です。また何かカスタマイズしたときに、追記したいと思います。
以上です。