しばらく zsh 使ってたんだけど設定ファイルが煩雑になってて気分が良くないから全部書きなおそうと思ってたところ fish というシェルがあることを知った。どうせ zsh 空にするんだったら違うやつに乗り換えるのもよさそうだと思ったので使い始めた。以下は 15 分くらい触った感想。
Install
$ brew install fish
help って打つとブラウザでドキュメントが開くし、fish_config って打つとブラウザで設定画面が出る。今まで文字列だけヴァーって出て見づらい感じだったヘルプ画面が HTML で出されるのは優しさを感じる。設定はもちろんファイルに書ける。
Prompt
function fish_prompt --description 'Write out the prompt'
set -l last_status $status
if not set -q __fish_prompt_normal
set -g __fish_prompt_normal (set_color normal)
end
# FISH
echo -n 'emoji '
# PWD
set_color $fish_color_cwd
echo -n (prompt_pwd)
set_color normal
printf '%s ' (__fish_git_prompt)
# DOLLAR
if not test $last_status -eq 0
set_color $fish_color_error
else
set_color yellow
end
echo -n '$ '
set_color normal
end
上記の設定書いておけば下記になる。source で再読み込みしなくても設定反映されて良い。.zshrc に書いてたプロンプトは人間が読むには厳しい状態だったけど、fish は人にも優しい。

補完のギラギラ感が賛否両論だけど、僕的には好きな感じです