入門編:インタラクティブ操作と基本機能
マニュアル自動解析に基づく高機能なタブ補完、履歴検索とオートサジェストの活用、Web ブラウザ設定 UI、およびキーバインドについて解説します。
タブ補完(Tab Completion)の威力
fish のタブ補完は、シェルの世界で最も先進的な機能の1つです。
コマンド名やファイル名だけでなく、コマンドのオプション(引数)まで詳細に補完されます。最大の特徴は、システムにインストールされている man ページ(マニュアル)を自動解析し、オプションの意味や説明文を補完候補の右側に一覧表示する点です。
# git switch と入力して Tab キーを押すと、利用可能なブランチ一覧と説明が表示される
git switch <Tab>
補完候補が複数ある場合、Tab キーや矢印キーを使って直感的に候補を選択できます。
» 補完データベースの更新
インストールした新しい CLI ツールの man ページから補完を生成・更新するには、以下のコマンドを実行します。
fish_update_completions
オートサジェストと履歴の活用法
文字を入力するたびに、過去の実行履歴から最適な候補がグレーの薄い文字色で自動提案(サジェスト)されます。
» サジェストの確定操作
- 全文確定(
→またはCtrl + F): 提案されている候補をすべて入力行に反映します。 - 単語確定(
Alt + →): 提案されている候補の次の1単語だけを確定します。長大なパスや引数の一部だけを再利用したい場合に便利です。
» 入力中文字列に基づく履歴検索
コマンドの一部を入力した状態で上矢印キー(↑)を押すと、その文字列で始まる過去の履歴だけをピンポイントで遡ることができます。
例えば docker run と入力してから ↑ を押すと、過去に実行した docker run コマンドだけが順に表示されます。
Web ベース設定 UI(fish_config)
fish には、ブラウザを通じてシェルの外観や動作を設定できる独自のツールが付属しています。
fish_config
コマンドを実行するとローカル Web サーバーが起動し、既定のブラウザで設定画面が開きます。
- Colors: 豊富なカラーテーマ(Dracula、Solarized、Nord 等)をプレビューしながらワンクリックで切り替え
- Prompt: 用意された多彩なプロンプトデザインの選択
- Functions / Variables / History: 現在定義されている関数や変数、履歴の閲覧
ターミナル側で Ctrl + C を押すと Web サーバーが安全に終了します。
キーバインドと操作モード
fish は既定で標準的な Emacs スタイルのキーバインドを採用しています。
| キー操作 | 役割 |
|---|---|
Ctrl + A / Ctrl + E | 行頭 / 行末へ移動 |
Alt + ← / Alt + → | 単語単位で前後に移動 |
Ctrl + K | カーソル位置から行末まで削除 |
Alt + D | カーソル位置の単語を削除 |
Ctrl + L | 画面をクリア |
Alt + H | 現在入力中のコマンドの man ページを即座に開く |
» Vi キーバインドへの切り替え
Vim の操作体系を好む場合は、設定により Vi モードへ切り替えることができます。
# Vi モードを有効化
fish_vi_key_bindings
# 既定(Emacs 風)に戻す場合
fish_default_key_bindings