give & not take

日々、幸せに生きるために。。。

fish shellでベリーかっこいい開発環境構築

Gakuです。
暑いです(´・ω・`)

世間はまだまだ夏ですが、自分の開発環境もhotにすべく久しぶりにfish shellを入れてみたので、その際の導入方法を記述したいと思います。

fish shellとは

f:id:gaku3601:20180822072055p:plain

金魚です(´・ω・`)
何かしょぼそうって思うかもしれませんが、こいつ入れるだけでターミナルが超絶かっこよくなるので、やっていきます。

導入

brew install fish
sudo vi /etc/shells # 末尾に/usr/local/bin/fishを追加
chsh -s /usr/local/bin/fish # デフォルトのshellをfishに変更

HomeBrewを入れておく必要はありますが超絶簡単ですね。これだけでターミナルがこうなります。

f:id:gaku3601:20180822072852p:plain

いい感じです(´・ω・`)b
プラスでplugin管理ツールのfishermanというものも入れておきましょう。

curl -Lo ~/.config/fish/functions/fisher.fish --create-dirs git.io/fisher
fisher -v

初期の設定はこれだけです。

themeを変えてかっこよくしていく

fishermanを使えば、基本的にコマンド一発でthemeを変更することができます。

fisher omf/theme-zish
f:id:gaku3601:20180822073247p:plain

とか

fisher simnalamburt/shellder
f:id:gaku3601:20180822073310p:plain

とか

fisher omf/theme-clearance
f:id:gaku3601:20180822073329p:plain

とか

fisher omf/theme-technopagan
npm install -g moonmoji
f:id:gaku3601:20180822073351p:plain

みたいな感じでthemeを変更できます。
以下サイトを参照しつつ、気分に合わせて好きなものを探せば良いと思います。 github.com

peco導入

超絶便利なpeco入れていきましょう!
peco+ghqとかで何ができるの?って方は
qiita.com ここらへんに書かれている内容を読めばいいと思います。

brew install peco
vi ~/.config/fish/functions/peco_change_directory.fish
# 以下を/peco_change_directory.fishに追記
function peco_change_directory
    ls -1d $HOME/src/*/*/* | peco | read dist
    cd $dist
end
vi ~/.config/fish/config.fish
# 以下をconfig.fishに追記
function fish_user_key_bindings
  bind \cf peco_change_directory # Bind for peco change directory to Ctrl+F
end

これでCtrl+Fでpecoが起動されるので、dirを選択するだけで爆速change directoryが可能になります。
(ghqで書かれている記事が多いですが、多くのリポジトリを管理していると、だんだん重たくなってくるので、今回はlsで記述しています。)

aliasとかの設定

今まで、aliasとか環境変数とか書いていた.bashrcや.bash_profileの内容は今後、~/.config/fish/config.fishに書いていけばokです。

Tips

なんかうまくいかない時は~/.config/fishの中にあるfishd.[hash値]のファイルを消すとうまくいく可能性あり。

まとめ

2番煎じならぬ5番煎じぐらいしている内容ですが、fishは素晴らしいのでご紹介させていただきました。
vimとかshellはエンジニアの刀だと考えてます。
日々使いやすくしていくことは、その刀を研ぐことと同じだと考えてますので、じゃんじゃん設定して自分好みの便利な環境を作っていきましょう(´・ω・`)b

参考文献

dev.classmethod.jp qiita.com