今までzshを使ってたんですが、マシンの再セットアップをした際ノリでfish shellを導入しました。
もうほんとに最低限の設定しかしてませんし、実は設定方法もよくわかってないし、とりあえずな感じで使ってますが、補完も優秀だし普段使いには全く問題ない感じで便利に使ってます。
ぼくはoh-my-fishというフレームワークを使っていますが、fishermanというプラグインマネージャもいい感じらしいです。(未検証)
[追記]
Fishermanについてよくまとまった記事を見つけたので参考とさせていただきました。
初心者がShellを知りFish〜Fishermanを導入するまで - Qiita
個人的にzsh + preztoより軽量で快適だったので、fish shell使っていこうと思ってます。
設定方法間違ってるよ!とかあればぜひご教授いただければ幸いです。
config.fish
# Path to Oh My Fish install.
set -gx OMF_PATH "/Users/[ユーザー名]/.local/share/omf"
# Customize Oh My Fish configuration path.
set -gx OMF_CONFIG "/Users/[ユーザー名]/.config/omf"
# Load oh-my-fish configuration.
source $OMF_PATH/init.fish
# homebrew
set -U fish_user_paths /usr/local/bin $fish_user_paths
# nodebrew
set -x PATH $HOME/.nodebrew/current/bin $PATH
# rbenv
#eval "$(rbenv init -)";
set -x PATH $HOME/.rbenv/bin $PATH
set -x PATH $HOME/.rbenv/shims $PATH
rbenv rehash >/dev/null ^&1
# pyenv
# export PATH="$HOME/.pyenv/shims:$PATH"
status --is-interactive; and . (pyenv init -| psub)
# plugins
set fish_plugin peco
# cd > ls
function cd
builtin cd $argv
ls -a
end
# rmstash
alias rm='rmtrash'
# theme
set fish_theme batman
# peco
function peco
command peco --layout=bottom-up $argv
end
function fish_user_key_bindings
bind \cr 'peco_select_history (commandline -b)'
end
# encoding
set -x LANG ja_JP.UTF-8
fish shell、いい感じなんですが情報が少ないため導入を避けてる人も多いと思うので、特に目新しい情報ではないですが記事を書いてみました。ひとりでも多くの人がfish shellにトライしますように。