17 CLI操作・キーバインド — プロンプト入力欄を使い倒す
ターミナル版Claude Codeの「プロンプト入力欄」でのキーバインド・編集操作を網羅。全選択・消去・行編集・Vim・履歴検索まで。Windows PowerShell + Windows Terminal環境での使い方と落とし穴も解説。公式ドキュメント(code.claude.com)準拠。
📑 セクション一覧(目次)
- A. 行編集の基本 — カーソル移動・削除・貼り付け(Ctrl+A/E/K/U/W)
- B. 全選択・全消去・入力欄クリア — 「使い切れていない」3大操作(Esc×2 / Ctrl+U / Ctrl+L)
- C. 履歴の呼び出し — Up/Down・Ctrl+R逆検索
- D. Vimモード / Emacsモード —
/configで切替 - E. 複数行入力・改行 — Shift+Enter /
\+Enter / Ctrl+J - F. コピー&ペースト — Windows Terminal では Ctrl+Shift+V
- G. 中断・終了・バックグラウンド化 — Ctrl+C / Ctrl+D / Esc / Ctrl+B
- H. その他便利ショートカット — モデル切替・権限モード・外部エディタ
- I. Windows PowerShell / Windows Terminal のハマりどころ — 競合・優先順位・設定推奨
- J. キーバインドのカスタマイズ —
~/.claude/keybindings.json
A. 行編集の基本
デフォルトは Emacs風キーバインド。Ctrl キーの組み合わせでカーソル移動と削除を行う。
カーソル移動
| ショートカット | 動作 |
|---|---|
Home / Ctrl+A |
行頭へ移動(マルチラインでは現在の論理行の先頭) |
End / Ctrl+E |
行末へ移動 |
← / → |
左右に1文字移動 |
Alt+B |
1単語戻る |
Alt+F |
1単語進む |
↑ / ↓ |
履歴を移動(折り返し行内では先にカーソル移動) |
削除
| ショートカット | 動作 |
|---|---|
Backspace |
カーソル前の1文字削除 |
Delete |
カーソル位置の1文字削除 |
Ctrl+K |
カーソルから行末まで削除(削除分は貼り付け用に保持) |
Ctrl+U |
カーソルから行頭まで削除(マルチラインでは繰り返しで全体クリア) |
Ctrl+W |
前の1単語を削除(Windowsでは Ctrl+Backspace も同じ) |
Ctrl+Y |
削除したテキストを貼り付け(Ctrl+K/U/W で削ったもの) |
Alt+Y |
貼り付け履歴を循環(Ctrl+Y 直後に使用) |
💡 よくある勘違い: 「全部消したい → Backspace連打」ではなく Ctrl+U(行頭まで削除)か 後述の Esc×2(入力クリア)が正解。
B. 全選択・全消去・入力欄クリア
🟡 「全選択」の公式ショートカットはありません。 シェルのようにマウスドラッグで範囲選択はできるが、キーボード1発で「入力欄をすべて選択」する機能は提供されていない。代わりに下記を使う。
| やりたいこと | ショートカット | 説明 |
|---|---|---|
| 入力をすべて消す | Esc ×2 |
入力がある場合: 入力をクリアして履歴に保存(↑ で呼出可)。入力がない場合: リワインドメニューを開く |
| カーソルより前を消す | Ctrl+U |
行頭まで削除。カーソルを末尾に置いてから押せば実質「全消去」 |
| カーソルより後を消す | Ctrl+K |
行末まで削除 |
| 画面をクリア | Ctrl+L |
画面を再描画。入力と履歴は保持 |
| 画面クリア(フルスクリーン) | Cmd+K / Ctrl+K* |
フルスクリーン描画時。2回押しで /clear 相当 |
※ Ctrl+K は「行末まで削除」と「フルスクリーン画面クリア」の2役。文脈(通常入力中 vs フルスクリーン描画中)で挙動が変わる。
「全部消して書き直したい」時の定石
Escを2回押す → 入力がクリアされる(履歴に残るので安心)- 新しく書き直す
C. 履歴の呼び出し
| 操作 | ショートカット | 説明 |
|---|---|---|
| 前/次のコマンド | ↑ / ↓ または Ctrl+P / Ctrl+N |
現在のワーキングディレクトリ単位で履歴を保持 |
| 履歴の逆検索 | Ctrl+R |
対話的に履歴を検索(一部入力で絞り込み) |
| 検索スコープ切替 | Ctrl+S(検索中) |
セッション → プロジェクト → 全プロジェクト で循環 |
| 検索結果を編集 | Tab または Esc |
検索を終了して編集続行 |
| 検索結果を実行 | Enter |
そのまま送信 |
| 検索をキャンセル | Ctrl+C |
元の入力を復元 |
履歴の特性:
- 同じプロンプトを連続送信すると履歴は1件のみ(重複排除)
/clear実行で履歴リセット(ただし会話は保持し resume 可能)
D. Vimモード / Emacsモード
モード切替
/config → Editor mode → vim(または emacs)
デフォルトは Emacs風(A章の Ctrl キー操作)。Vim派は vim に切替できる。
Vimモード早見表
モード遷移:
| 切替 | キー |
|---|---|
| INSERT → NORMAL | Esc |
| NORMAL → INSERT | i(前) / a(後) / I(行頭) / A(行末) |
| NORMAL → VISUAL | v(文字) / V(行) |
NORMALモード — 移動:
| キー | 動作 |
|---|---|
h/j/k/l |
← / ↓ / ↑ / → |
w/e/b |
次の単語 / 単語末尾 / 前の単語 |
0 / $ / ^ |
行頭 / 行末 / 行頭(空白飛ばし) |
gg / G |
入力の先頭 / 末尾 |
NORMALモード — 編集:
| キー | 動作 |
|---|---|
x / dd / D |
1文字削除 / 1行削除 / 行末まで削除 |
cw / cc / C |
単語変更 / 行変更 / 行末まで変更 |
yy / p |
1行ヤンク / 貼り付け |
u / . |
アンドゥ / 最後の変更を繰り返し |
⚠️ Vimモードでは Esc が「NORMALモード切替」に使われるため、応答中断(後述G章)は Ctrl+C 等を使う。
E. 複数行入力・改行
1つのプロンプト内で改行を入れる方法。Windows Terminal では Shift+Enter が対応。
| 方法 | ショートカット | 対応環境 |
|---|---|---|
| バックスラッシュ | \ + Enter |
全ターミナル(設定不要) |
| Shift+Enter | Shift+Enter |
iTerm2 / WezTerm / Ghostty / Kitty / Warp / Apple Terminal / Windows Terminal |
| Option+Enter | Option+Enter |
macOS(Option as Meta 要) |
Ctrl+J |
Ctrl+J |
全ターミナル(設定不要) |
| 直接ペースト | コードブロック/ログを貼り付け | — |
※ VS Code / Cursor / Alacritty / Zed では /terminal-setup を実行して Shift+Enter バインディングをインストールする必要がある。
F. コピー&ペースト
🟡 Windows Terminal では Ctrl+Shift+V で貼り付け。 Ctrl+V 単体は Claude Code では画像貼り付けに割り当てられている。
| 操作 | ショートカット | 備考 |
|---|---|---|
| テキスト貼り付け | Ctrl+Shift+V |
Windows Terminal のデフォルト |
| 画像貼り付け | Ctrl+V / Alt+V(WSL) |
[Image #N] チップを挿入 |
| 選択テキストコピー | Ctrl+Shift+C |
Windows Terminal 側の機能 |
G. 中断・終了・バックグラウンド化
| 操作 | ショートカット | 説明 |
|---|---|---|
| 操作の中断 | Ctrl+C |
実行中の操作を中断。入力時は 1回目で入力クリア、2回目で終了 |
| セッション終了 | Ctrl+D |
EOF信号で終了 |
| レスポンス中断 | Esc |
Claude の応答を停止(作業内容は保持) |
| バックグラウンド化 | Ctrl+B |
Bash/Agent をバックグラウンドへ(tmux では2回押し) |
H. その他便利ショートカット
| 操作 | ショートカット | 説明 |
|---|---|---|
| トランスクリプト表示 | Ctrl+O |
ツール使用 / MCP呼び出しを展開表示 |
| 外部エディタで編集 | Ctrl+G / Ctrl+X Ctrl+E |
$EDITOR/$VISUAL でプロンプト編集 |
| タスクリスト表示 | Ctrl+T |
タスク進捗の表示/非表示 |
| モデル切替 | Alt+P |
モデルピッカーを開く(プロンプト保持) |
| ファストモード切替 | Alt+O |
ファストモード ON/OFF |
| Extended Thinking切替 | Alt+T |
Extended Thinking ON/OFF |
| 権限モード循環 | Shift+Tab / Alt+M |
default → acceptEdits → plan → auto… |
I. Windows PowerShell / Windows Terminal のハマりどころ
ターミナルとの競合
| ショートカット | Claude Code側 | ターミナル側 | 備考 |
|---|---|---|---|
Ctrl+V |
画像貼り付け | — | WSLでは Alt+V も有効 |
Ctrl+A |
行頭移動 | すべて選択 | Claude Code では行頭移動が優先 |
Ctrl+C |
中断 | コピー | PowerShell設定で調整可能 |
Ctrl+Shift+C/V |
— | コピペ | Windows Terminal のデフォルト |
優先順位と注意点
- キーバインド優先順位: ターミナルアプリ > Windows Terminal > Claude Code(上位が先に握る)
- VT処理: Node 24.2.0 / 22.17.0 未満、Bun 1.2.23 未満では VT モードが無効になる場合あり
- WSL環境:
Ctrl+V/Alt+Vともに画像貼り付けにバインドされている
設定推奨(Windows Terminal settings.json)
ペーストを Ctrl+Shift+V に固定しておくと安全:
"commands": [
{ "command": "paste", "keys": "ctrl+shift+v" }
]
J. キーバインドのカスタマイズ
~/.claude/keybindings.json でカスタマイズ可能:
{
"$schema": "https://www.schemastore.org/claude-code-keybindings.json",
"bindings": [
{
"context": "Chat",
"bindings": {
"ctrl+k": null,
"ctrl+e": "chat:externalEditor"
}
}
]
}
予約済み(再割り当て不可):
| ショートカット | 役割 |
|---|---|
Ctrl+C |
中断 / キャンセル(ハードコード) |
Ctrl+D |
終了(ハードコード) |
Ctrl+M |
Enter と同一(CR送信) |
詳細は /keybindings コマンド、または公式「Customize keyboard shortcuts」を参照。
参考資料
- Interactive mode(公式) — キーボードショートカット・Vimモード・履歴検索の公式リファレンス
- Customize keyboard shortcuts(公式) —
keybindings.jsonの設定方法とアクション一覧