emahiro's ProgrammingBlog

勉強記録と書評とたまに長めの呟きを書きます

fishに乗り換えた話

zshの管理がめんどくさくなってきたのでもう少しイケてるshell環境をつくれないものかと調べてたら、fish なるものがあるらしく、使い勝手がよさげなので、期間限定で乗り換えてたときの備忘録

パッケージ管理

  1. oh-my-fish
  2. fisherman

1と2もどちらもパッケージ管理ツールに変わりはないので、どちらでも良さげ。
軽く調べたらfishermanの方がイケてるらしい。
最初に1を入れてその後2を入れたものの、 agnoster というテーマを使いたかったのに fisherman では表示がおかしかったので、oh-my-fish を使用。

shellの設定

fishでの標準的なシェルの設定は、 ~/.config/fish/config.fish を使用する。
しかし、oh_my_fish を使うと ~/.config/fish/conf.d/omf.fish になる。
ただし、ここに書きすぎると後々やっぱり fisherman 使いたいなーとか思った時に足かせになるので、自前で ~/.config/fish/config.fish を作って、そちらにちまちま設定を書いていった方が無難(のような気がする)

簡単に設定

pecoとghqを入れておく。

$ brew install peco
$ brew insatll ghq

冗長にbrewで入れようと思ったけど、oh-my-fishを入れると自動的にpecoもghqも入るっぽい。

というわけでoh-my-fishを入れる。

$ curl -L https://get.oh-my.fish | fish

これで omf コマンドが使えるようになる。
fishではoh-my-fishにしろ、fishermanにしろ、パッケージ管理ツールを使ってテーマ等々shellのカスタマイズを行うツールをインストールする。

例えば、agnoster というテーマを入れようと思った場合、

$ omf install agnoster

と入力すると、テーマがインストールされて自動的に反映される。インストールしているテーマは ~/.config/omf/theme のファイルに記録されている。 設定ファイル(config.fish)上で set theme (theme名) と書いておくことで使いたいテーマを決める。※ 1つしか入っていないと自動的に決まるみたい。

※ 注 : agnosterというテーマはPowerlineというフォントを指定しないと正確にテーマが反映されないので注意

とりあえず今回はここまで。
fishはパッケージ管理の容量で簡単にshellがカスタマイズできるので使い勝手が良さげ。専用のコマンドがあるのもありがたい。
設定ファイルはもう少し使い込んで、もろもろ設定してからまたエントリーにする予定。