bash から fish shell に移行
ShellmacOS Catalina で、標準のシェルが bash から zsh に変わった。
そのついでで、fish shellに移行したので書き残す。
環境
- macOS Mojave -> Catalina 10.15.4 にした
導入
fish
を入れる。
shell
brew install fish
ついでに fish
のパッケージマネージャー fisher
もいれる。
https://github.com/jorgebucaran/fisher
shell
curl https://git.io/fisher --create-dirs -sLo ~/.config/fish/functions/fisher.fish
移行
環境変数、 alias, function
.config/fish/config.fish
を作成し、そこに移植する。
fish は export を set -x
形式で指定する。
以下のような環境変数があるとして…。
$HOME/.bash_profile
export ANDROID_HOME=$HOME/Library/Android/sdk
export PATH=$PATH:$ANDROID_HOME/emulator
export FOO=bar
fish ではこうなる。
$HOME/.config/fish/config.fish
set -x ANDROID_HOME $HOME/Library/Android/sdk
set -x PATH $PATH $ANDROID_HOME/emulator
set -x FOO bar
alias はそのままでいけた。
rbenv
eval するやつは使えないので以下
$HOME/.config/fish/config.fish
status --is-interactive; and source (rbenv init -|psub)
nvm
もともと fish をサポートしていないので、とりあえず fish-nvm
を入れた。
shell
fisher add jorgebucaran/fish-nvm
nvm use lts
node -v > .nvmrc
デフォルトシェル
デフォルトシェルは、Catalina 標準の zsh のままにしておく。
.zshrc
をいじって…。
$HOME/.zshrc
exec fish
chsh で zsh をデフォルトにした。
shell
chsh -s /bin/zsh
VSCode でも、既定ターミナルを zsh
を変更すれば fish が起動する。
カスタマイズ
テーマ
Oh My Fish(OMF) にあるテーマがインストールできる。
fisher の場合はインストール方法が異なる。
例えば bobthefish
テーマをインストールする場合、OMF だと
shell
omf install bobthefish
fisher の場合は oh-my-fish/theme-テーマ名
の形式で指定する。
shell
fisher add oh-my-fish/theme-bobthefish
Color Scheme, Prompt
fish_config
を入力。
shell
fish_config
設定画面が立ち上がるので設定。
プラグイン
ls の色
ls の結果が真っ青なのでつらい。
ls の結果に色をつける - ねもぷらす を参考に
$HOME/.config/fish/config.fish
set -x LSCOLORS gxfxcxdxbxegedabagacad
で色を変更する。
fish のロゴ
fish_logo
をインストールする。
shell
fisher add laughedelic/fish_logo
fish_logo f00 '' ff0