Claude Codeの対話モードとキーボードショートカット

Claude Code エンジニアリング 6分で読めます

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回目で終了)。入力欄に文字があるときはカーソルの次の文字を削除する。
EscClaude の応答やツール実行を途中で止めて指示をやり直す。それまでの作業結果は保持される。ダイアログが開いているときはダイアログを閉じる。
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+EnterShift+EnteriTerm2・WezTerm・Ghostty・Kitty・Warp・Apple Terminal・Windows Terminal ではそのまま動作。VS Code・Cursor・Zed などでは /terminal-setup を実行してバインドを入れる。
Option+EnterOption+EntermacOS で 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 / D1文字削除 / 行削除 / 行末まで削除。
編集dw / cw / cc単語削除 / 単語を変更 / 行を変更。
編集yy / p / P行をヤンク(コピー)/ カーソル後に貼り付け / 前に貼り付け。
編集u / .元に戻す / 直前の変更を繰り返す。

dcy はテキストオブジェクト(iw/awi"/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 の設定、そして公式ドキュメントの最新版を確認してください。