コマンドラインシェルはなんだかんだで一番付き合う時間が長いプログラムだが、個人的には大したこだわりはない。シェルスクリプティングという点ではPOSIX準拠は重要だが、インタラクティヴに使うぶんにはどうでもいいような気がする。そんなこんなで、最近若い人たちにfishが良いと言われたので、試してみることにした。
というか、実のところ数年前に一度試してはみたのだが、まあZshとoh-my-zsh(その後Preztoに移行)でいいやと面倒くさくなって手を引いたのである。で、今回他のウェブサイトを参考にちょこちょこ設定しようとしたら、ことごとく情報が古くなっていて頭に来たのでメモを残しておく。
とりあえずfishそのもののインストールは、Debianベースのシステムならば
# apt-get install fish
でOK。fishそのものの使い方は、公式サイトのチュートリアルを読めば十分分かる。
fishはそのままでもそれなりに使いやすいが、oh-my-zsh的な設定フレームワークを追加したい場合はoh-my-fish(omf)…ではなくてfisherを使うと良いのがナウいようだ(fisher作者による比較)。fisherはomfほど総合的なフレームワークではなく、パッケージマネージャに徹しているようだが、そのぶん軽いしomfのパッケージやテーマも扱えるので便利である。なお、fisherはかつてfishermanと呼ばれていた。
fisherのインストールは、以下のワンライナーでいける。
$ curl https://git.io/fisher --create-dirs -sLo ~/.config/fish/functions/fisher.fish
omfは使わないといいつつ、実はomfのデフォルト・テーマはシンプルで結構気に入っているのである。こいつをインストールするには、
$ fisher add fishpkg/fish-git-util $ fisher add oh-my-fish/theme-default
を実行する。どうもfisherへのコマンドやアドレスの渡し方がころころ変わったようで、ウェブ上には違うことが書いてあるページが結構あるのだが、2019年8月現在の正解はこれのようである。