Claude Code の対話セッションは、キーボードショートカットを覚えるほど速く使えます。この記事では、実行の中断や履歴検索といった基本操作、複数行入力の入れ方、そして Vim 風の編集モードを、Anthropic 公式ドキュメントの「Interactive mode」に基づいて日本語で整理します。ショートカットはプラットフォームや端末によって挙動が変わる点や、macOS で Option キーを Meta として使う設定が必要になる点にも触れます。
概要
対話モード(interactive mode)とは、ターミナルで claude を起動したときに表示される、プロンプト入力欄をそなえた通常のセッションのことです。ここには「実行中の処理を止める」「入力を編集する」「過去のコマンドを検索する」といった操作のためのキーボードショートカットが用意されています。多くは一般的なターミナル(readline)の慣習に沿っていますが、Claude Code 固有のものもあります。
注意点として、ショートカットの挙動はプラットフォームや端末エミュレータによって異なることがあります。とくに macOS で Alt+B / Alt+F / Alt+Y / Alt+P などの Option キーを使うショートカットを有効にするには、端末側で Option を Meta キーとして扱う設定が必要です(iTerm2 なら「Settings → Profiles → Keys」で左右の Option キーを "Esc+" に、Apple Terminal なら「Use Option as Meta Key」にチェック、VS Code なら設定に "terminal.integrated.macOptionIsMeta": true を追加)。
主要なキーボードショートカット
まず押さえておきたいのが、セッションの制御と入力編集のショートカットです。次の表は公式ドキュメントの「General controls」「Text editing」から主要なものを抜粋したものです。
| キー | 動作 |
|---|---|
Ctrl+C | 実行中の処理を中断。何も動いていなければ1回目で入力欄を消去し、2回目で Claude Code を終了する。 |
Ctrl+D | セッションを終了する(1回目で確認、800ms 以内の2回目で終了)。入力欄に文字があるときはカーソルの次の文字を削除する。 |
Esc | Claude の応答やツール実行を途中で止めて指示をやり直す。それまでの作業結果は保持される。ダイアログが開いているときはダイアログを閉じる。 |
Esc を2回 | 入力欄に文字があれば下書きを履歴に保存して消去(Up で呼び戻せる)。空のときは巻き戻し(rewind)メニューを開き、以前の時点へコード・会話を復元できる。 |
Ctrl+R | コマンド履歴を逆方向にインクリメンタル検索する。 |
Ctrl+L | 画面を再描画する。表示が崩れたときの復旧に使う(フルスクリーン表示では2秒以内に2回押すと /clear を実行)。 |
Ctrl+O | トランスクリプトビューア(詳細なツール実行やモデル表示)の表示を切り替える。 |
Up / Down | 入力が複数行のときはまずカーソルを移動し、先頭・末尾行に達するとコマンド履歴を移動する。 |
Shift+Tab | 権限モード(default / acceptEdits / plan など)を切り替える。 |
Ctrl+A / Ctrl+E | 現在の行の先頭 / 末尾へカーソルを移動する。 |
Ctrl+K / Ctrl+U / Ctrl+W | 行末まで / 行頭まで / 直前の単語を削除する(削除内容は Ctrl+Y で貼り付け可能)。 |
これらは実際に claude を起動した状態でそのまま試せます。まず Ctrl+R で過去の指示を呼び出す、長い応答を Esc で止めて方向転換する、の2つを覚えるだけでも操作感が大きく変わります。
複数行入力とクイックコマンド
プロンプトに改行を入れて複数行の指示を書きたいときは、次のいずれかの方法を使います。
| 方法 | 操作 | 備考 |
|---|---|---|
| クイックエスケープ | \ を打ってから Enter | すべての端末で動作する。 |
| 制御シーケンス | Ctrl+J | 設定なしでどの端末でも動作する。 |
| Shift+Enter | Shift+Enter | iTerm2・WezTerm・Ghostty・Kitty・Warp・Apple Terminal・Windows Terminal ではそのまま動作。VS Code・Cursor・Zed などでは /terminal-setup を実行してバインドを入れる。 |
| Option+Enter | Option+Enter | macOS で Option を Meta に設定した場合。 |
| 貼り付け | 直接ペースト | コードブロックやログをそのまま貼れる。 |
入力欄の先頭で特定の記号を打つと、モードが切り替わります。/ はコマンドやスキルの呼び出し、! はシェルモード(コマンドを直接実行し、その出力をセッションに取り込んで Claude に応答させる)、@ はファイルパスの補完、?(空の入力欄で)はショートカットのヘルプパネルの表示切り替えです。メモリー(CLAUDE.md)への追記は、行頭に # を付けて内容を書くことで行えます。
Vim編集モード
Vim に慣れているなら、入力欄を Vim 風に操作できます。有効化は /config の Editor mode(エディタモード)を vim にするか、ユーザー設定 ~/.claude/settings.json に "editorMode": "vim" を書きます。Esc で NORMAL モードに入り、i/a/o などで INSERT モードに戻ります。
| 種類 | キー | 動作 |
|---|---|---|
| モード切替 | i / I / a / A / o / O | カーソル前 / 行頭 / カーソル後 / 行末 / 下に新規行 / 上に新規行で INSERT モードへ。 |
| 移動 | h j k l | 左・下・上・右へ移動。 |
| 移動 | w / e / b | 次の単語 / 単語の末尾 / 前の単語へ。 |
| 移動 | 0 / $ / ^ | 行頭 / 行末 / 行の最初の非空白へ。 |
| 移動 | gg / G | 入力全体の先頭 / 末尾へ。 |
| 編集 | x / dd / D | 1文字削除 / 行削除 / 行末まで削除。 |
| 編集 | dw / cw / cc | 単語削除 / 単語を変更 / 行を変更。 |
| 編集 | yy / p / P | 行をヤンク(コピー)/ カーソル後に貼り付け / 前に貼り付け。 |
| 編集 | u / . | 元に戻す / 直前の変更を繰り返す。 |
d・c・y はテキストオブジェクト(iw/aw、i"/a"、i(/a( など)と組み合わせられます。また、INSERT モードで2文字の並びを Esc に割り当てる vimInsertModeRemaps を使うと、たとえば jj で NORMAL モードへ戻せます(Claude Code v2.1.208 以降)。設定例:
{
"editorMode": "vim",
"vimInsertModeRemaps": { "jj": "<Esc>" }
}
各キーはちょうど2文字、割り当て先は "<Esc>" のみが対応します。この設定はユーザー設定・--settings・管理設定からのみ読まれ、プロジェクトの .claude/settings.json は無視されます(チェックアウトしたリポジトリが自分のキー操作を書き換えられないようにするため)。
まとめ
対話モードのショートカットは、覚えた分だけ手数が減ります。最初は Ctrl+C(中断・消去)、Esc(応答の停止)、Ctrl+R(履歴検索)、複数行入力の \+Enter の4つから始め、必要になったら Vim モードや vimInsertModeRemaps を取り入れると無理がありません。ショートカットは端末やバージョンで挙動が変わるため、うまく効かないときは /terminal-setup や Option-as-Meta の設定、そして公式ドキュメントの最新版を確認してください。