ベジタリアンや魚介類にアレルギーのある人でも、試してみる価値あり。
Bashは最も広く使われているシェルで、Zshは開発者界隈で最も人気がありますが、Fishは見落とされがちです。
これは決して誇張ではありません。Fishは実に軽視されがちなシェルであり、フリーソフトウェアやオープンソースソフトウェアの初心者にも経験者にも、おそらく優れた選択肢です。
Fishは、他とは一線を画す魅力的な機能の数々を提供しています。シンタックスハイライトから略語まで、斬新な機能が満載です。
以下に、私のお気に入りのフィッシュシェルの特徴をいくつかご紹介します。
構文のハイライト
間違ったコマンドを実行する前に特定することで、時間の大幅な節約になり、フラストレーションも軽減されます。
最近の多くのコードエディターにはシンタックスハイライトが組み込まれていますが、Fishにはシェルに組み込まれているだけでなく、Linuxコマンドにも対応しています。
コマンドにエラーがありますか?赤くハイライトされます。文脈から外れているパラメータやオプションについても同様です。
自動提案
コマンドを入力すると、フィッシュシェルが自動的にコマンドを提案し、プロンプトに従ってTabキーを使って適切な補完を行うことができます。
入力中、候補は識別しやすいようにグレーで表示されます。サジェスチョン全体がお好みであれば、右矢印キーを押してコマンド全体を完成させることができます。
コマンドオプションを含むインタラクティブなマニュアルページ
まず、マニュアルページを解析する必要があります:
fish_update_completions
これはハンドブックのページを解析します。
コマンドを入力し、オプションとしてハイフンを追加し、Tabキーを押すと、マニュアルページにある可能なオプションが短い説明とともに表示されます:
オプションを一目でスクロールし、その機能の説明を読んだ後、ポップアップページャーから選択することができます。
command -h 打つよりちょっと便利でしょ?
略語はエイリアスより好ましい
フィッシュでは、略語はテキスト・エキスパンダーのように機能します。よく使われる略語を簡単に呼び出せるように設定することができます。
例えば、パッケージを検索するためにschを pacman -Ss 省略形に設定しています。
abbr -a sch pacman -Ss
だから、schと入力してスペースバーを押すたびに、 pacman -Ssしまうんです。
設定ファイルに書き込んで、恒久的な設定にすることもできます。
エイリアスと省略形の主な違いは、エイリアスの作業は内部で行われ、その背後で実行されている実際のコマンドは見えないということです。一方、省略形は実際のコマンドが表示されるだけでなく、履歴にも正しく表示されます。
豊富なウェブベースのヘルプ
Linuxの純粋主義者はコマンドのヘルプをマニュアルページに頼ることが多いですが、新しい世代のLinuxユーザーはウェブリソースに頼ることが多くなっています。
フィッシュは両方の長所を兼ね備えており、詳細な「ウェブベースのヘルプ」機能を提供し、ローカルに保存されるためインターネット接続がなくても簡単に使用できます。
フィッシュシェルを実行するときは、次のように入力するだけです:
ウェブブラウザでヘルプページを開くことができます。
現在では、この詳細な文書にいつでも簡単にアクセスすることができます。
Webベースの設定は、シンプルで使いやすいプロセスです。
はい、これも「ウェブベース」の機能です。
プロンプトの色やその他の設定を変更するには、ターミナルで設定ファイルを編集する必要はありません。
フィッシュ・シェルを実行する場合は、以下のコマンドを入力するだけです:
fish_config
ブラウザが開き、コンフィギュレーション設定が表示されます。
ここでは、色を変更したり、既存のリストから別のキューを選択したりすることができます。
その方がコンフィギュレーションを変更しやすいでしょう?
カタログ自動切替
あるディレクトリに移動したい場合、cdコマンドを入力する必要はありません。ディレクトリ名を入力するだけです。
例えば、ホームディレクトリにいて、ダウンロードディレクトリに移動したい場合、Downloadsと入力します。
特定のディレクトリにいて、まったく別のパスにジャンプしたい場合は、絶対パスを使用する必要があります。
最新でクリーンなパスナビゲーション。
ブラウズしたディレクトリを行ったり来たりする必要がある場合、パスをタイプしたり、cd ... を使ったりする必要はありません。 などを使う必要はありません。または ALT + 押すだけで、それぞれ前と後ろに移動できます。
また、cdhと入力してエンターキーを押すと、ページャー画面が表示され、対応する番号を使って目的のディレクトリに戻ることができます。
インタラクティブ履歴検索
フィッシュの特定の履歴コマンドをインタラクティブに検索することができます。これを行うには、おなじみのCTRL+Rを使用するだけです。
すると、検索プロンプトが表示されるページャーのようなインターフェイスが呼び出されます。探しているコマンドを入力すると、結果が表示されます:
フィッシュシェル, グローバル変数
Fish Shellでは、変数をグローバルに設定すると、シェルの再起動やシステムのリブート後もその変数は使用可能です。
グローバル変数を設定するには
set -U my_variable 10
この時点で、my_variable 値はシステム再起動後も10に設定されます。
はい、RCやプロフィールに追加する必要はありません。
プライバシーモード
フィッシュシェルにはプライバシーモードがあり、入力されたコマンドは履歴やハードドライブに保存されません。
プライバシー・モードに入るには
fish -P
作業が終了したら、exitと入力してプライバシーモードを終了できます。
魚、もっと探検できますよ。
フィッシュシェルには 、他にも使いやすい機能がたくさんあります:
ALT+Enter使った簡単な複数行コマンド編集- Emac/Vimのキーバインド切り替え
- 明確で簡潔なスクリプト構文を提供します。
もちろん、フィッシュシェルの機能の大半は他のシェルでも工夫次第で実装できますが、デフォルトで有効にするのはまったく別の問題です。
Fishは、開発環境のコントロールを維持しながら、開発作業の効率を向上させることができます。Fishシェル用のスクリプトをBashで実行するように書かないでください。マルチユーザーシステム上の共有環境でシェルの互換性の問題を引き起こす可能性があります。
これらの機能が気に入ったら、フィッシュシェルを試してみてください。もしかしたら、Fishを 設定するかもしれません。
ターミナルで "Fish "を見たくなくとも、アスキーの水族館を見たいでしょう。
フィッシュ・シェルについてのご意見、ご感想をお寄せください!
via:





