Edited at

oh-my-fishではじめるfish

More than 1 year has passed since last update.

設定をしなくても、そこそこ使えるshellとしてfish shellの名を最近よく聞きます。

機能としてはカスタマイズされたzshには負けますが、インストールするだけで使いやすいshellの地位は確立できる予感がします。

「でも、どうせなら便利に使いたいよね」なんて人のためにoh-my-fishがあります。

ちょっと試してみたので、まとめてみました。

本記事はfishに関する解説はしていません。


インストール

oh-my-fishをインストールしてみます。

Macを想定で話しを進めていきますので、適宜置き換えて読んでください。

まず、fishのインストール。

brew install fish

そして、oh-my-fishをインストールします。

curl -L http://get.oh-my.fish | fish

このコマンドを実行した際には自動的にfishを起動した状態になりますが、端末を再起動するとfishは自動で起動しません。自動でfishを起動したい場合は端末の設定で/usr/local/bin/fishを実行するようにしてみてください。


インストールに関する余談

自動インストールされるのはちょっと怖いです。怖い場合は中身を覗いておきましょう。

ざっくりメモをしておくと~/.local/share/omfgit cloneされて ~/.config/fish/conf.d/omf.fishにファイルが置かれることによってfishが起動時に読み込まれます


omf コマンド

oh-my-fishのプラグインやテーマのインストールはomfコマンドで行います。


プラグインを使う

cdプラグインをインストールしてみます。

omf install cd

でインストールできます。

このプラグインは cdするときに ...を指定することができます。

...../.. として置き換えられます。lsなどでは使えなくて微妙でした。

公式のプラグインはgithubの以下URLで探せます。


プラグインの削除

cd プラグインを削除します。

omf remove cd


日々のお手入れ

$ omf update

oh-my-fishとインストールしたプラグインの更新ができます。


oh-my-fishの削除

oh-my-fishがいまいちだと思ったら簡単に削除できます。

omf destroy

簡単にやり直せて良いですね。

(ただし、再度oh-my-fishをインストールすると入れていたプラグインは再インストールされます)


プラグイン探検


balias


peco

omf install peco

https://github.com/oh-my-fish/plugin-peco

bind \cr 'peco_select_history (commandline -b)'

を実行するとpecoで履歴を検索できます。


docker-machine

omf install docker-machine

https://github.com/oh-my-fish/plugin-docker-machine

dockerコマンド使うだけでdefaultのdocker-machineへ接続できるっぽい。


まとめ

なんとなくfishを利用している人はoh-my-fishを使ってみても良いと思います。

oh-my-zsh比べると、fish自体とうまく結合されていて使いやすいです。

ただ、oh-my-zshをなんとなく利用してzshを使うほうが便利ではあります。

しかし、fishは文法が整理されているので、スクリプトは読みやすいです。

READMEも充実していて、ユーザーに優しいです。

ちょっとしたオレオレ設定をするには敷居が低いと思いました。