設定をしなくても、そこそこ使える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/omf
にgit 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
bind \cr 'peco_select_history (commandline -b)'
を実行するとpecoで履歴を検索できます。
docker-machine
omf install docker-machine
dockerコマンド使うだけでdefaultのdocker-machineへ接続できるっぽい。
まとめ
なんとなくfishを利用している人はoh-my-fish
を使ってみても良いと思います。
oh-my-zsh比べると、fish自体とうまく結合されていて使いやすいです。
ただ、oh-my-zshをなんとなく利用してzshを使うほうが便利ではあります。
しかし、fishは文法が整理されているので、スクリプトは読みやすいです。
READMEも充実していて、ユーザーに優しいです。
ちょっとしたオレオレ設定をするには敷居が低いと思いました。