はじめに
fish を起動すると、まず目に入るのが「カラフルなプロンプト」。
でも多くの人は、
- なんとなく見ている
- 何が表示されているか説明できない
状態だと思います。
今日は、
fish のプロンプトを「読める」ようになる
のが目標です。
そもそもプロンプトとは?
プロンプトとは、
コマンド入力待ち状態を示す表示
のこと。
例:
yasuhiro@ubuntu ~>
この表示には、ちゃんと意味があります。
fish のデフォルトプロンプト構造
一般的な表示はこうなっています。
ユーザー名@ホスト名 カレントディレクトリ>
例:
yasuhiro@ubuntu ~/projects>
分解すると:
| 部分 | 意味 |
|---|---|
| yasuhiro | 現在のユーザー |
| ubuntu | マシン名 |
| ~/projects | 今いるディレクトリ |
| > | 入力待ち記号 |
なぜ fish はカラフルなのか?
fish は最初から:
- ユーザー名 → 色付き
- ディレクトリ → 色付き
- エラー → 赤
- コマンド補完 → グレー
になっています。
理由はシンプルです。
視認性を最優先しているから
bash のように「自分で設定しないと何も変わらない」設計ではありません。
色の意味を観察してみる
試しに以下をやってみましょう。
cd /usr
次に:
cd 存在しないディレクトリ
エラーが赤く表示されるはずです。
これは、
「エラーは即座に視覚で分かる」
ように設計されています。
カレントディレクトリの表示ルール
fish では、ホームディレクトリは:
~
で表示されます。
例:
~/projects
これは:
/home/yasuhiro/projects
の省略形です。
コマンド補完の色
例えば:
gi
と打つと、薄いグレーで
git
と予測表示されます。
これは:
- グレー → まだ確定していない
- Enter → 確定
という意味。
この「色による状態管理」が fish の大きな特徴です。
プロンプトはカスタマイズできる
fish ではプロンプトは:
fish_prompt
という関数で定義されています。
確認:
functions fish_prompt
中身を見ると、関数で構成されているのが分かります。
👉 つまり、プロンプトは「プログラム」です。
(カスタマイズはもう少し後でやります)
初心者が気づいていないこと
fish のプロンプトは、
- 情報量が多い
- でもうるさくない
- 視線移動が少ない
これは「設計思想」の違いです。
bash は拡張前提
fish は最初から完成形
今日の学習(Day03)
学んだこと
- プロンプトは情報表示装置
- 各パーツに意味がある
- 色には状態の意味がある
- エラーは赤表示で分かりやすい
- fish_prompt は関数でできている
できるようになったこと
- 自分のプロンプトを説明できる
- エラーを視覚で判断できる
- 表示を「なんとなく」から卒業した
今日の気づき
- fish は UI 設計思想が強い
- 「見やすさ」は正義