fish shellのカスタマイズ
最近zshからfish shellに移りました。デフォルトのセットアップがかなり優秀で、何もしなくてもわりと使えるのですが、結局ある程度カスタマイズがないと作業効率が下がるので、プラグインを管理するためのツールを探してみました。
oh-my-zshのfish版のoh-my-fishというのが存在していて、これを使うとパッケージを入れられるらしいですが、zshと違ってfishのセットアップは最初からほぼ完璧なので、パッケージ入れるためにわざわざフレームワークを入れるのはいかがものかと思って、結局自作をすることにしました。
Fundleの紹介
vimユーザがよく知っているVundleを参考にして、Fundleというパッケージマネージャーを作りました。
使い方としては、設定ファイルに
fundle plugin 'USER/REPOSITORY'
fundle init
を書くだけです。fundle install
を走らせると、Githubからプラグインを取ってきてインストールしてくれます。
Githubにないものに関しては普通にgitのURLを入れれば使えます。
fishの場合は関数を追加したい時は$fish_function_path
に入れると自動でロードされ、コンプリーションを$fish_complete_path
に入れると自動でロードされるので、fundle
で入ったプラグインにfunctions
とcompletions
というディレクトリがある場合はそのパスに追加するような仕様になっています。
READMEに英語でもう少し詳しく書いてあります。