キーボード
Herdr はマウスネイティブです。キーバインドをひとつも覚えなくても、ペイン、タブ、ワークスペース、エージェントをクリックし、分割境界をドラッグし、右クリックメニューを使えます。キーボード操作は任意のレイヤーであり、必須ではありません。
プレフィックスとは何か
Section titled “プレフィックスとは何か”ターミナルマルチプレクサは、ターミナルとその中で動くプログラムの間に位置します。プログラムはすでにほとんどのキーの組み合わせを使っています: ctrl+c は中断、ctrl+r は履歴検索、エディタは残りのほぼすべてを占有します。もし Herdr がよく使われるキーを直接奪えば、中のプログラムを壊してしまいます。
プレフィックスはこれを解決します。プレフィックスキー (デフォルト ctrl+b) を押すと、次のキー入力はターミナルではなく Herdr に送られます。prefix+c は「ctrl+b を押して離し、次に c を押す」という意味です。何十ものキーを予約する代わりに、ひとつだけ予約します。
いつでも prefix+? を押すと、すべての有効なバインドが表示されます。キーバインドヘルプで / を押すと、アクションとショートカットを絞り込めます。Backspace でフィルターを編集し、ctrl+u でクリアできます。
まずこの 5 つを覚える
Section titled “まずこの 5 つを覚える”| アクション | キー |
|---|---|
| 新しいタブ | prefix+c |
| 右 / 下に分割 | prefix+v / prefix+minus |
| ペイン間の移動 | prefix+h/j/k/l |
| ワークスペースナビゲーション | prefix+w |
| すべてを動かしたままデタッチ | prefix+q |
これで日常の移動のほとんどをカバーできます。それ以外はマウスのままで大丈夫です。
残りはタスク別に
Section titled “残りはタスク別に”ペイン:
| アクション | キー |
|---|---|
| フォーカス中のペインをズーム | prefix+z |
| ペインを閉じる | prefix+x |
| ペインを入れ替える | prefix+shift+h/j/k/l |
| リサイズモード | prefix+r |
| コピーモード | prefix+[ |
タブ:
| アクション | キー |
|---|---|
| 次 / 前のタブ | prefix+n / prefix+p |
| タブ 1–9 にジャンプ | prefix+1..9 |
| タブの名前を変更 | prefix+shift+t |
| タブを閉じる | prefix+shift+x |
ワークスペースとセッション:
| アクション | キー |
|---|---|
| 新しいワークスペース | prefix+shift+n |
| ワークスペースの名前を変更 | prefix+shift+w |
| ワークスペースを閉じる | prefix+shift+d |
| Goto ピッカー | prefix+g |
| サイドバーの表示切り替え | prefix+b |
完全なキーマップとバインドの構文はキーバインドリファレンスにあります。
Goto ピッカー (prefix+g) は、各エージェントとターミナルをワークスペースごとに一行ずつ表示します。分割タブのペインも隠さず表示されます。行をクリックするか Enter を押すと、そのペインへ直接移動します。/ で名前、エージェントの種類、タブ、ワークスペース、ブランチ、パスを検索できます。検索入力中でなければ上下矢印キーまたは j/k で行を移動します。左右矢印キーは前後のワークスペースの最初のエージェントまたはターミナルへ移動し、端では折り返しません。検索入力中は左右矢印キーでテキストカーソルを動かします。b/w/i/d で blocked、working、idle、done のエージェントに絞り込み、a ですべてのターミナルに戻します。選択した移動先の場所とパスは一覧の下に表示されます。一覧が収まらない場合は、マウスホイール、スクロールバーのトラックのクリック、つまみのドラッグで、移動先を開かずにスクロールできます。
テキスト欄の編集
Section titled “テキスト欄の編集”Herdr の名前入力、worktree のブランチ名、フィルター、コピーモードの検索欄では、カーソル位置で編集できます。以下は Herdr 自身の入力欄の操作であり、ペイン内のシェルやエージェントの操作は変わりません。
| 操作 | キー |
|---|---|
| 1 文字移動 | Left / Right、Ctrl+B / Ctrl+F |
| 先頭 / 末尾へ移動 | Home / End、Ctrl+A / Ctrl+E |
| 1 単語移動 | Alt+B / Alt+F |
| 前の文字を削除 | Backspace、Ctrl+H |
| 次の文字を削除 | Delete、Ctrl+D |
| 先頭 / 末尾まで切り取り | Ctrl+U / Ctrl+K |
| 前の単語を切り取り | Ctrl+W、Alt+Backspace、Ctrl+Backspace |
| 次の単語を切り取り | Alt+D |
| 最後に切り取ったテキストを挿入 | Ctrl+Y |
入力と貼り付けはカーソル位置に挿入されます。移動と削除は Unicode の書記素境界を尊重し、長い値は横にスクロールします。切り取ったテキストは現在の入力欄だけで保持し、システムのクリップボードは使いません。Alt ショートカットにはターミナルの Alt/Meta 報告が必要です。Enter と Esc は引き続きダイアログの確定とキャンセルに使います。
コピーモード
Section titled “コピーモード”prefix+[ を押すと、フォーカス中のペインでコピーモードに入ります。h/j/k/l、tmux 形式の w/b/e、{/} で移動します。/ または ? で前方または後方のリテラル検索を開始し、n または N で同じ方向または逆方向に繰り返します。クエリに大文字が含まれる場合だけ大文字と小文字を区別します。v または Space で選択を開始し、y または Enter でコピーし、q または Esc でコピーせずに抜けます。Esc は終了する前に、アクティブな選択または検索を消します。コピーモードはペインのプロセスを停止しません。最下部では出力を追従し、履歴へ移動するとその位置を保ちます。マウスのドラッグ選択なら、コピーモードに入らずにそのままコピーできます。
マウスのドラッグ選択と、v、Space、V で開始した選択は、出力や再描画が続いても維持されます。選択範囲の一部が表示領域の外にある場合も同様です。コピーするのは固定されたスナップショットではなく、その範囲に現在あるテキストです。ペインのサイズ変更や通常画面と代替画面の切り替えでは、引き続き選択が解除されます。検索結果とダブルクリックによる単語選択では、内容変更のチェックが維持されます。
何でも変更できる
Section titled “何でも変更できる”プレフィックス自体を含め、すべてのバインドは設定可能です:
[keys]prefix = "ctrl+a"プレフィックスなしで運用する
Section titled “プレフィックスなしで運用する”Herdr のアクションを、プレフィックス不要の直接コードに割り当てることもできます。難しいのはどのコードが安全かを知ることです。ターミナル、シェル、デスクトップ環境がすでにキーボードの大半を占有しているからです。
どんなコードでもバインドにできます: ctrl+j、alt+k、手に馴染むものなら何でも。ただしコードが Herdr に届くまでには 3 つの層を通り抜ける必要があります: オペレーティングシステム、外側のターミナル (Ghostty、iTerm2 などは独自のデフォルトを持ちます)、そしてペイン内で動くプログラムです。ctrl+j は Herdr まで問題なく届きますが、シェルやエディタはそれを Enter として扱います。alt+k は Linux では空いていますが、macOS ではほとんどのターミナルで特殊文字に合成されます。これらの系統からコードを選ぶ場合は、自分のターミナルと OS のショートカットと衝突しないか確認してください。
私たちは Ghostty、iTerm2、Terminal.app、kitty、WezTerm、Alacritty、Warp、Windows Terminal、GNOME Terminal、Konsole のデフォルトキーバインドと、GNOME および KDE のグローバルショートカットを調査しました。ほぼどこでも使われていない修飾キーの系統がひとつあります: ctrl+alt です。ターミナルはこれを空けたままにしており、素の alt コードを阻む macOS の option キー合成の影響も受けず、モダンなキーボードプロトコルのないターミナルでも送信されます。安全なデフォルトとしてお勧めしますが、選択はあなた次第です。
この設定はプレフィックスバインドを維持したまま、直接コードを追加します:
[keys]focus_pane_left = ["prefix+h", "ctrl+alt+h"]focus_pane_down = ["prefix+j", "ctrl+alt+j"]focus_pane_up = ["prefix+k", "ctrl+alt+k"]focus_pane_right = ["prefix+l", "ctrl+alt+l"]previous_tab = ["prefix+p", "ctrl+alt+["]next_tab = ["prefix+n", "ctrl+alt+]"]new_tab = ["prefix+c", "ctrl+alt+c"]split_vertical = ["prefix+v", "ctrl+alt+d"]split_horizontal = ["prefix+minus", "ctrl+alt+shift+d"]zoom = ["prefix+z", "ctrl+alt+z"]いくつかの ctrl+alt コードは他で使われています。これらは避けてください:
| コード | 使用しているもの |
|---|---|
ctrl+alt+arrows | GNOME のワークスペース切り替え、Ghostty と Konsole のデフォルト |
ctrl+alt+t | Ubuntu と Fedora の「ターミナルを起動」 |
ctrl+alt+l / ctrl+alt+a | KDE のロック画面 / アテンションウィンドウ |
ctrl+alt+s / ctrl+alt+u | Konsole |
ctrl+alt+f1..f12 | Linux の仮想コンソール切り替え |
直接コードを押しても何も起きない場合、Herdr に届く前にターミナルかデスクトップ環境がそれを消費しています。どちらかを再設定してください: ターミナルの設定でそのコードを解放するか、Herdr で別のコードを選びます。