平成世代のためのshell「fish」

あなたはbashやzshに対してこんな不満を持っていませんか?
fishはそんなあなたのためのシェルです!

  • デフォルト の設定が貧弱→fishならば 無設定で便利機能満載
  • シェルスクリプト が苦手→fishスクリプトならば シンプル でわかりやすい
  • 無駄に 多機能 で覚えきれない→fishは必要な機能を 厳選 している
  • マニュアルが わかりづらい →fishのマニュアルは 具体例満載 でわかりやすい
  • 設定ファイル を書くのが面倒→fishならば Webブラウザ で設定できる!
  • 補完設定 を書くのが面倒→fishならばmanページを解析して 自動で 補完設定をしてくれる
  • シングルクォート 中にシングルクォートを書けない→fishならば \’ と書ける
  • 関数や環境変数を保存 するのに設定ファイルの書換えが面倒→fishならばその場で 永続化 できる
  • 和訳 マニュアルがない→fishの 最新版公式文書を全訳済

他にもこんな便利機能があります。

  • Webブラウザのような Auto suggestion
    • まるであなたの心を読んでるかのように正確
    • Ctrl+EあるいはCtrl+Fで全確定!
    • Alt+Fで単語単位で確定
    • zshでは GitHub - zsh-users/zsh-autosuggestions が必要
  • リアルタイム 構文ハイライト
  • 迷ったら TAB 押せ!
    • 超強力な補完
    • すべての補完(オプション、コマンド名ともに)に対して簡単な説明がある
    • 3回押せばメニュー選択になる
  • 親切な エラーメッセージ
    • どこが間違っていたのか、どのように修正すべきかを教えてくれる
    • 移行組のために、fish独自の文法へ慣れるような配慮がなされている
  • ユニバーサル変数 は 永続 する変数
    • 複数のfishセッションに即座に反映される
    • 一度設定すれば永続化され、コンピュータ再起動しても反映されたまま
  • 軽い 立ち上がり
    • シェル関数は徹底したautoloadで、最初に呼ばれたときに実体が読み込まれる
    • ユーザは指定されたディレクトリにシェル関数のファイルを配置するだけ!
  • grepに 色がつく
    • より便利になるよう同名のシェル関数が最初から定義されている

いかがでしょうか?

上記に述べたことが 初期状態 で使えるようになっています。
他のシェルでここまで環境構築するにはどれだけの労力がかかるでしょうか。

このようにfishは ユーザフレンドリ であることを最重要視して設計されています。
空気を読み、簡単に機能を発見でき、すぐに覚えられるように巧妙な仕掛けが施されています。
また、すでにインストールされているコマンドを利用しようとします。

fishは設定なしでも必要に応じて便利機能にアクセスできますので、
コマンドライン初心者も たった3日でシェル中級者 になれます。

なぜなら、bash/zshユーザが設定をいじっている間に
fishユーザは徐々に機能を覚えていくようになるからです。

あなたも使ってみてください。

追伸

多少煽っていますが、fish開発陣との利害関係は一切ありません(笑)

巷では 断捨離 とか デトックス が流行っているようですが、
bash/zshユーザは設定ファイルをリセットしてでもfishを使ってみる価値があると断言します。

僕は 15年 使っていたzshをあっさりと投げ捨ててfishに乗り換えました。

やっと理想のコマンドライン環境に出会えました。
ありがとうございます。