fish

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も充実していて、ユーザーに優しいです。
ちょっとしたオレオレ設定をするには敷居が低いと思いました。