コンテンツにスキップ

Transient メニュー

C-c ? を押すと、Transient メニューが開きます(Magit でおなじみの transient ライブラリで構築されています)。ecc の全コマンドが機能ごとにグループ化されており、キーを一覧しながら直感的に実行できます。

セッション画面の下に開いた Transient メニュー: Session, Send, Review, Respond, View, Config の6つのグループが表示されている様子

各行にはキーと対応するコマンドが表示されており、C-g でメニューを閉じます。- で始まる項目はスイッチ(トグル設定)で、その後に実行するコマンドにオプションを適用します。

セッションバッファの外からは、M-x ecc-menu を実行するか、グローバルプレフィクスキーマップ ecc-global-map? を押すとメニューを開けます(詳細は グローバルキーバインド を参照)。どちらのメニューでも共通のキー操作が使えます。

現在のバッファが属するプロジェクト内で新しいセッションを開始します。セッション名にはデフォルトでそのディレクトリ名が付けられます。同一プロジェクト内で 2 つめ以降のセッションを開始する場合は名前の入力を求められます。C-u c を押すと、対象ディレクトリと名前の両方を手動で指定できます。

再開可能な過去の会話一覧を表示します。

会話再開ピッカー: 5つの会話とそれぞれの状態アイコンが並んでいる様子

アイコン 状態
この Emacs インスタンスで実行中のアクティブセッション
この Emacs 内にあるが、CLI プロセスが停止しているセッション
別のプロセスで実行されている会話
ディスク上に保存されている過去の記録

各項目にはセッション名、最終更新時刻、ディレクトリ(過去の記録の場合は最初のプロンプト)が表示されます。-f スイッチを付けると、選択した会話を直接引き継ぐのではなく、新しい会話として分岐(フォーク)して開始できます。

プロセスを停止し、セッションのバッファを閉じます。会話の記録はディスク上に保持されるため、後から r で再開可能です。

R — セッション名の変更 (Rename)

Section titled “R — セッション名の変更 (Rename)”

セッションおよび関連バッファの名前を変更します。新しい名前はタブ、モードライン、および各種選択メニューに即座に反映されます。

v — プロンプトへフォーカス (Focus prompt)

Section titled “v — プロンプトへフォーカス (Focus prompt)”

セッションウィンドウを表示し、ポイントをプロンプト入力領域へ移動します。

j — 1 つのプロジェクトに絞る (Focus one project)

Section titled “j — 1 つのプロジェクトに絞る (Focus one project)”

フレーム全体を 1 つのプロジェクトに絞り込みます。セッションを持つプロジェクトを選ぶと、他のプロジェクトのセッションウィンドウが画面から消え、このプロジェクトのセッションがウィンドウの役割へ割り当てられ、メインウィンドウがそのソースに切り替わります。C-u j でメインウィンドウに表示するバッファを選べます。kill はしません。wC-u w で隠れたセッションを戻せます。1 つのプロジェクトに絞るを参照してください。

w — ウィンドウの表示/非表示切り替え (Toggle windows)

Section titled “w — ウィンドウの表示/非表示切り替え (Toggle windows)”

カレントプロジェクトのセッションウィンドウを非表示または再表示します。他のプロジェクトはそのまま残ります。C-u w は全プロジェクトのセッションウィンドウを対象にし、絞り込みを解除します。バックグラウンドのセッションは非表示の間も動作し続けます。

S — ウィンドウ内のセッション切り替え (Switch session in window)

Section titled “S — ウィンドウ内のセッション切り替え (Switch session in window)”

セッションウィンドウには、アクティブなセッションごとにタブが並びます。S を押すと、現在のウィンドウに表示するセッションをその場で切り替えます。

ウィンドウの表示セッションが切り替わり、選択中タブが greet から notes へ移動してトランスクリプトが更新される様子

セッションバッファ内からは、C-c C-t でも同じ操作が行えます。

実行中のターンを直ちに中断します。それまでに完了した変更や出力内容はそのまま保持されます。

t — ターミナルへ引き渡し (Hand over to terminal)

Section titled “t — ターミナルへ引き渡し (Hand over to terminal)”

セッションを ghostel へ引き渡し、CLI ネイティブの TUI インターフェースを Emacs バッファ内で操作できるようにします。

セッションがターミナルへ引き渡され、CLI 本来の画面が表示されて会話が継続される様子

履歴の競合分岐を防ぐため、ターミナルで再開する前に実行中のターンは中断され、Emacs 側のバックグラウンドプロセスは一旦停止します。ターミナルで操作中も、Emacs のトランスクリプト側はリアルタイムに進行を追従します。

u — セッションの回収 (Reclaim session)

Section titled “u — セッションの回収 (Reclaim session)”

ターミナル側で追加されたやりとりを取り込み、Emacs 内でヘッドレスプロセスとしてセッションを再開します。ターミナルがまだ動作している間はセッションはターミナル側に留まり、ターミナルが終了した時点で自動的に Emacs 側へ復帰します。

これらのコマンドは、トランスクリプト内ではなくソースコードを編集中のバッファから実行することを想定しています。対象セッションへコンテキストを直接送信でき、ターン実行中の場合はプロンプトが自動的にキューへ追加されます。

キー 送信内容
s ミニバッファで入力した 1 行の指示のみ
x 入力した指示に加え、現在のファイル名と行番号
g 選択中のリージョン(未選択時はバッファ全体)を引用ブロックとして添付
f ファイル全体を CLI が読み取れる @path 参照として送信

リージョンの送信: 選択したコードと質問がトランスクリプトに届き、回答がストリーミングされる様子

xg によって付加されるコンテキストは、以下のような読みやすいブロック形式で送信されます:

---
Current context: hello.py L1-L3
```python
def greet(name):
return "hello " + name
```

プレフィクス引数を渡すと、コードの前に添える追加指示を入力したり(C-u g)、送信先セッションを選択したりできます(C-u s)。f は CLI がディスクからファイルを直接読み込むため、送信前にバッファの保存を促します。

e — ポイント位置のエラーを修正 (Fix error at point)

Section titled “e — ポイント位置のエラーを修正 (Fix error at point)”

カーソル行の診断情報(エラーや警告)を周囲の数行のコードとともに送信します。Flymake、Flycheck、ポイント位置のオーバーレイヘルプテキストの順に診断情報を検索して取得します。

チェッカーが警告を出している行で診断が送信され、修正案が承認待ち編集として返ってくる様子

l — インラインで質問 (Ask inline)

Section titled “l — インラインで質問 (Ask inline)”

リージョンやファイルに関する質問をミニバッファから送信し、トランスクリプトではなくコードの直上にオーバーレイとして回答を表示します。n / p でスクロール、r で追加質問、q でオーバーレイを消去できます。

ミニバッファで質問を入力し、コード上にオーバーレイとして回答がポップアップする様子

この質問は専用のセッション(プロジェクトのセッションのフォーク、または軽量な独立セッション)で処理されます(バッファごとに初回選択した方式を記憶)。

W — リージョンの書き換え (Rewrite region)

Section titled “W — リージョンの書き換え (Rewrite region)”

指定した指示に従って選択範囲のコードを直接書き換えます。修正案がその場にプレビュー表示され、RET で受け入れるまでバッファの内容は変更されません。

元のコードの上に書き換え案が表示され、RET で承認してバッファへ反映される様子

この機能はツール呼び出しを行わない単発のコード生成として動作し、Emacs 側が直接バッファを書き換えます。

D を押すとセッション内の全変更を 1 つの統合 diff として表示します。FP はトランスクリプト内の変更ファイル一覧およびプランセクションへジャンプし、T は指定したターンへ移動します。

詳細は レビューとプランモード をご覧ください。

ad で最古の待機中リクエストを許可/拒否、A で全リクエストを一括許可、nN で次の待機中セッションへジャンプ、14 で質問の選択肢に素早く回答します。

詳細は プロンプトとトランスクリプト をご覧ください。

この Emacs で管理されている全セッションを一覧表示します。 詳細は セッション管理 をご覧ください。

y — ケイパビリティ (Capabilities)

Section titled “y — ケイパビリティ (Capabilities)”

セッションで利用可能なスキル、サブエージェント、スラッシュコマンド、MCP サーバー、プラグインの一覧を確認できます。 詳細は その他の機能 をご覧ください。

過去に ~/.claude/projects に記録された会話を標準のセッションバッファで開きます。過去の会話は閲覧専用として確認できるほか、r を押してその場で再開することも可能です。

現在のプロジェクトにおける過去の会話を発言内容(プロンプトや回答)から検索し、該当するセッションを開きます。 詳細は セッション管理 をご覧ください。

プランの使用量とレート制限の利用状況を確認します。 詳細は その他の機能 をご覧ください。

セッションの生の JSON プロトコルログをタイムスタンプ付きで確認します(受信メッセージは <<、送信メッセージは >>)。動作不良時のトラブルシューティングやバグ報告の際に最も重要な情報源となります。

セッションを再起動することなく、実行中のセッションの使用モデルを切り替えます。

実行中セッションの権限モードを切り替えます(セッションバッファ内では S-TAB でも直接切り替え可能です)。

o O K — リモートコントロール (Remote Control)

Section titled “o O K — リモートコントロール (Remote Control)”

o でこのセッションのリモートコントロール(Remote Control)の有効/無効を切り替えます。有効にすると Claude の Web アプリやデスクトップアプリからこのセッションを遠隔操作できるようになります。O はブラウザでそのセッションの Web UI(claude.ai/code)を開き、K はその URL をキルリングにコピーします。

すべての設定オプションは M-x customize-group RET ecc でカスタマイズできるほか、設定リファレンス でもご確認いただけます。