Build This Now
Build This Now
キーボードショートカットステータスラインガイド
Claude Code VS Code拡張機能2026年版 Claude Code と Cursor の比較OpenClaw vs Claude CodeAIによるSEOとGEO最適化Claude CodeのキーバインディングClaude Code ステータスラインの設定方法
speedy_devvkoen_salo
Blog/Toolkit/Extensions/Claude Code Keybindings

Claude Codeのキーバインディング

keybindings.jsonを通じてClaude Codeのショートカットを変更できます。17のコンテキスト、キーストローク構文、コードシーケンス、モディファイアスタック、デフォルトのアンバインド、すぐに貼り付けられる設定例を解説します。

設定をやめて、構築を始めよう。

AIオーケストレーション付きSaaSビルダーテンプレート。

Published Feb 27, 2026Toolkit hubExtensions index

Ctrl+Kを押せばコマンドパレットが開く、そう指が覚えています。Claude Codeは別の動作をします。その誤った反射のたびに、一瞬の思考とフローの中断が生じます。

そのコストは積み重なります。長いClaude Codeセッションは筋肉の記憶で動いており、悪いデフォルト設定がそのキーストロークごとに筋肉の記憶と戦います。VS Code、Vim、Emacsの長年の習慣はコマンドで消えません。他人のショートカットレイアウトに合わせて手を再訓練するのは無駄な努力です。

修正方法は組み込まれています。コンテキストで整理された1つのJSONファイルで、気になるすべてのショートカットを管理できます。コードシーケンス、モディファイアスタック、デフォルトを完全に無効にするオプションも使えます。保存した瞬間に変更が有効になります。ツールが自分のものに感じられるよう設定する方法を説明します。

カスタムキーバインディングの最初のステップ

Claude Codeの中で/keybindingsと入力します。このスラッシュコマンドが~/.claude/keybindings.jsonを作成または開きます。ファイルは他の設定と同じく通常の~/.claude/フォルダに保存されます。

ファイルの形は単純です:

{
  "$schema": "https://platform.claude.com/docs/schemas/claude-code/keybindings.json",
  "$docs": "https://code.claude.com/docs/en/keybindings",
  "bindings": [
    {
      "context": "Chat",
      "bindings": {
        "ctrl+e": "chat:externalEditor",
        "ctrl+u": null
      }
    }
  ]
}

3つのトップレベルキーがすべてを担います:

  • $schema - オプション。JSON SchemaのURLを指定するとエディタが無料のオートコンプリートとバリデーションを提供します。残しておく価値があります。
  • $docs - オプション。素早い参照のためのドキュメントリンク。
  • bindings - ショートカットが入る配列。コンテキストごとに1エントリ。

このschemaフィールドには地味なメリットがあります。JSON Schemaをサポートするエディタが、入力中に有効なアクションとコンテキスト名を提案してくれます。

保存したファイルはその場で反映されます。編集して保存すれば、新しいバインディングがすぐに機能します。再起動不要です。

コンテキストの仕組み

各バインディングはコンテキストの中に置かれ、コンテキストがそのショートカットが有効なタイミングを決定します。Chatバインディングはメインのチャット入力にフォーカスがある場合のみ起動します。コンテキストをまたいで同じキーを再利用すれば、それぞれ異なる動作をさせることができます。

Claude Codeには17のコンテキストがあります:

コンテキスト有効なタイミング
Globalアプリのどこでも
Chatメインのチャット入力エリア
Autocompleteオートコンプリートメニューが開いている
Settings設定メニューが開いている
Confirmation権限と確認ダイアログ
Tabsタブナビゲーションコンポーネント
Helpヘルプメニューが表示されている
Transcriptトランスクリプトビューアー
HistorySearch履歴検索モード(Ctrl+R)
Taskバックグラウンドタスクが実行中
ThemePickerテーマピッカーダイアログ
Attachments画像/添付ファイルバーのナビゲーション
Footerフッターインジケーターのナビゲーション
MessageSelector巻き戻しダイアログのメッセージ選択
DiffDialogDiffビューアーのナビゲーション
ModelPickerモデルピッカーの努力レベル
Select汎用のセレクト/リストコンポーネント
Pluginプラグインダイアログ(ブラウズ、発見、管理)

Globalは特別です。ここのショートカットはどのビューにいても起動します。注意して使いましょう。グローバルのCtrl+Kは、チャット内でも、オートコンプリート内でも、diffのレビュー中でもトリガーされます。

すべてのアクション一覧

アクション名はnamespace:actionパターンに従います。以下はすべてのコンテキストにある、デフォルトキーとともにすべてのアクションです。

グローバルアクション

どこからでも起動します:

アクションデフォルト動作
app:interruptCtrl+C現在の操作をキャンセル
app:exitCtrl+DClaude Codeを終了
app:toggleTodosCtrl+Tタスクリストの表示を切り替え
app:toggleTranscriptCtrl+O詳細トランスクリプトを切り替え

タスクリストをよく使うユーザーはapp:toggleTodosを一日中使います。Ctrl+Tがターミナルと衝突する場合は、別の場所に移動させましょう。

チャットアクション

ほとんどのキーストロークが着地する場所:

アクションデフォルト動作
chat:cancelEscape現在の入力をキャンセル
chat:cycleModeShift+Tab権限モードを切り替え
chat:modelPickerCmd+P / Meta+Pモデルピッカーを開く
chat:thinkingToggleCmd+T / Meta+T拡張思考を切り替え
chat:submitEnterメッセージを送信
chat:undoCtrl+_最後のアクションを元に戻す
chat:externalEditorCtrl+G外部エディタで開く
chat:stashCtrl+S現在のプロンプトをスタッシュ
chat:imagePasteCtrl+V(WindowsではAlt+V)画像を貼り付け

VTモードのないWindowsでは、chat:cycleModeはMeta+Mにフォールバックします。これはNode.js 24.2.0/22.17.0より古いビルドおよびBun 1.2.23より古いバージョンに適用されます。このショートカットは権限モードを制御し、Claudeが許可される操作をゲートします。

履歴アクション

過去のプロンプトを遡る:

アクションデフォルト動作
history:searchCtrl+R履歴検索を開く
history:previousUp前の履歴アイテム
history:nextDown次の履歴アイテム

オートコンプリートアクション

候補メニューが開いている間に有効:

アクションデフォルト動作
autocomplete:acceptTab候補を承認
autocomplete:dismissEscapeメニューを閉じる
autocomplete:previousUp前の候補
autocomplete:nextDown次の候補

確認アクション

権限と承認ダイアログのバインディング:

アクションデフォルト動作
confirm:yesY, Enterアクションを確認
confirm:noN, Escapeアクションを拒否
confirm:previousUp前のオプション
confirm:nextDown次のオプション
confirm:nextFieldTab次のフィールド
confirm:previousField(未割り当て)前のフィールド
confirm:cycleModeShift+Tab権限モードを切り替え
confirm:toggleExplanationCtrl+E権限の説明を切り替え
permission:toggleDebugCtrl+D権限デバッグ情報を切り替え

トランスクリプトアクション

アクションデフォルト動作
transcript:toggleShowAllCtrl+Eすべてのコンテンツ表示を切り替え
transcript:exitCtrl+C, Escapeトランスクリプトビューを終了

履歴検索アクション

アクションデフォルト動作
historySearch:nextCtrl+R次の一致
historySearch:acceptEscape, Tab選択を承認
historySearch:cancelCtrl+C検索をキャンセル
historySearch:executeEnter選択したコマンドを実行

タスクアクション

アクションデフォルト動作
task:backgroundCtrl+B現在のタスクをバックグラウンドへ

テーマ、ヘルプ、設定アクション

アクションコンテキストデフォルト動作
theme:toggleSyntaxHighlightingThemePickerCtrl+Tシンタックスハイライトを切り替え
help:dismissHelpEscapeヘルプメニューを閉じる
settings:searchSettings/検索モードに入る
settings:retrySettingsR使用データの再読み込みを再試行

ナビゲーションアクション

タブ、添付ファイル、フッター、diff、モデルピッカー、セレクト、メッセージセレクターはすべてここにあります:

アクションコンテキストデフォルト動作
tabs:nextTabsTab, Right次のタブ
tabs:previousTabsShift+Tab, Left前のタブ
attachments:nextAttachmentsRight次の添付ファイル
attachments:previousAttachmentsLeft前の添付ファイル
attachments:removeAttachmentsBackspace, Delete添付ファイルを削除
attachments:exitAttachmentsDown, Escape添付ファイルバーを終了
footer:nextFooterRight次のフッターアイテム
footer:previousFooterLeft前のフッターアイテム
footer:openSelectedFooterEnter選択したアイテムを開く
footer:clearSelectionFooterEscape選択をクリア
messageSelector:upMessageSelectorUp, Kリストを上に移動
messageSelector:downMessageSelectorDown, Jリストを下に移動
messageSelector:topMessageSelectorCtrl+Up, Shift+Up先頭にジャンプ
messageSelector:bottomMessageSelectorCtrl+Down, Shift+Down末尾にジャンプ
messageSelector:selectMessageSelectorEnterメッセージを選択
diff:dismissDiffDialogEscapeDiffビューアーを閉じる
diff:previousSourceDiffDialogLeft前のdiffソース
diff:nextSourceDiffDialogRight次のdiffソース
diff:previousFileDiffDialogUp前のファイル
diff:nextFileDiffDialogDown次のファイル
diff:viewDetailsDiffDialogEnter詳細を表示
modelPicker:decreaseEffortModelPickerLeft努力レベルを下げる
modelPicker:increaseEffortModelPickerRight努力レベルを上げる
select:nextSelectDown, J, Ctrl+N次のオプション
select:previousSelectUp, K, Ctrl+P前のオプション
select:acceptSelectEnter選択を承認
select:cancelSelectEscape選択をキャンセル
plugin:togglePluginSpaceプラグインを切り替え
plugin:installPluginIプラグインをインストール

キーストロークの構文

キーの組み合わせを定義する構文は見やすいものです。

モディファイア

モディファイアキーを対象キーに+で接続します:

  • ctrl または control: Controlキー
  • alt、opt、または option: Alt/Optionキー
  • shift: Shiftキー
  • meta、cmd、または command: Meta/Commandキー

いくつかの例:

ctrl+k          Single modifier + key
shift+tab       Shift + Tab
meta+p          Command/Meta + P
ctrl+shift+c    Multiple modifiers

大文字とShift

裸の大文字はすでにShiftを意味します。バインディング内のKはshift+kと同じです。jとJ(またはkとK)が異なるアクションにマップされるVimスタイルのレイアウトに便利です。

1つの注意点。モディファイアが付くと、大文字小文字は区別されなくなります。ctrl+Kとctrl+kは同じバインディングです。モディファイアがある場合、大文字は見た目だけです。

コードシーケンス

コードはマルチキーのショートカットを提供します。キーストロークの間にスペースを入れます:

ctrl+k ctrl+s Press Ctrl+K, release, then press Ctrl+S

これにより単一キーのバインディングよりもはるかに多くの余裕が生まれます。使える未使用のキーコンボが少なくなってきた場合、コードは何もステップオンせずに数百の新しい選択肢を追加します。

特殊キー

文字以外のキーには独自の名前があります:

  • escape または esc
  • enter または return
  • tab
  • space
  • up、down、left、right
  • backspace、delete

デフォルトショートカットのオフ

アクションをnullに設定するとデフォルトが消えます:

{
  "bindings": [
    {
      "context": "Chat",
      "bindings": {
        "ctrl+s": null
      }
    }
  ]
}

デフォルトがターミナル、OS、またはClaude Codeの隣で実行している別のツールと競合するときに便利です。デフォルトをnullにして同じキーに新しいアクションを割り当てることもできます。

予約済みショートカット

2つのキーはハードコードされており、変更できません:

ショートカット理由
Ctrl+Cハードコードされた中断/キャンセル
Ctrl+Dハードコードされた終了

Claude Codeはこれらを変更する試みを拒否します。これは正しい判断です。すべてのターミナルユーザーはCtrl+Cが中断し、Ctrl+Dが終了することを期待しています。これらはUnixの慣習です。

ターミナルマルチプレクサとの競合

tmux、GNU screen、または類似のマルチプレクサ内でClaude Codeを実行している場合、プレフィックスキーが問題を起こします:

ショートカット競合
Ctrl+Btmuxのプレフィックス(通過させるには2回押す)
Ctrl+AGNU screenのプレフィックス
Ctrl+ZUnixのプロセスサスペンドSIGTSTP)

task:backgroundはデフォルトでCtrl+Bに設定されており、これはtmuxのプレフィックスと完全に一致します。tmuxを使っている場合は初日に変更しましょう:

{
  "bindings": [
    {
      "context": "Task",
      "bindings": {
        "ctrl+b": null,
        "ctrl+shift+b": "task:background"
      }
    }
  ]
}

この競合は、マルチプレクスされたセッション内でClaude Codeを実行する多くの開発者を悩ませています。

Vimモードとの相互作用

/vimでvimモードをオンにすると、キーバインディングとは別のレイヤーで動作します:

  • Vimモード: テキスト編集を担当します。カーソル移動、INSERTとNORMALモード、モーション、テキストオブジェクト。
  • キーバインディング: アプリレベルのアクションを担当します。タスクリストの切り替え、メッセージの送信、モデルピッカーのオープン。

Escapeキーが最も明確な分岐点です。vimモード内では、EscapeはINSERTを抜けてNORMALに入ります。chat:cancelは呼び出されません。ほとんどのCtrl+keyショートカットはvimモードをそのまま通過してキーバインディングレイヤーに入るため、NORMALモードからでもCtrl+Tがタスクリストを切り替えます。

NORMALモードでは、?はClaude Codeのヘルプ画面ではなく、vimスタイルのヘルプを表示します。

vimモードで思考モードをよく使う場合は、chat:thinkingToggleをvimのモーションと衝突しないコードに配置しましょう。インタラクティブモードガイドでは、vimモード、スラッシュコマンド、その他のインタラクティブ機能がどのように組み合わさるかを説明しています。

バリデーションと診断

Claude Codeは保存ごとにキーバインディングファイルをチェックし、以下をフラグします:

  • JSON構文または構造の解析エラー
  • サポートされている17のコンテキストと一致しない無効なコンテキスト名
  • Ctrl+CまたはCtrl+Dを変更しようとする予約済みショートカットの競合
  • Ctrl+B、Ctrl+A、Ctrl+Zのターミナルマルチプレクサとの競合
  • 同じコンテキスト内の重複したバインディング

/doctorを実行すると、すべてのキーバインディング警告が一覧表示されます。ショートカットが誤動作する原因を特定するための最短経路です。

実用的な設定例

実際の使用環境から引用したいくつかの設定です。

VS Codeユーザー向けの設定

VS Codeから来てよく使うショートカットを戻したい場合:

{
  "$schema": "https://platform.claude.com/docs/schemas/claude-code/keybindings.json",
  "bindings": [
    {
      "context": "Chat",
      "bindings": {
        "ctrl+k ctrl+s": "chat:stash",
        "ctrl+shift+p": "chat:modelPicker",
        "ctrl+g": "chat:externalEditor"
      }
    },
    {
      "context": "Global",
      "bindings": {
        "ctrl+shift+t": "app:toggleTodos"
      }
    }
  ]
}

tmuxフレンドリーな設定

tmuxのプレフィックスとの衝突を回避します:

{
  "$schema": "https://platform.claude.com/docs/schemas/claude-code/keybindings.json",
  "bindings": [
    {
      "context": "Task",
      "bindings": {
        "ctrl+b": null,
        "ctrl+shift+b": "task:background"
      }
    }
  ]
}

最小限の干渉設定

誤って押してしまうショートカットを削除します:

{
  "$schema": "https://platform.claude.com/docs/schemas/claude-code/keybindings.json",
  "bindings": [
    {
      "context": "Chat",
      "bindings": {
        "ctrl+s": null,
        "ctrl+u": null
      }
    }
  ]
}

コードベースのパワーユーザー設定

よく使わない機能をコードに配置して、単一キーのコンボを解放します:

{
  "$schema": "https://platform.claude.com/docs/schemas/claude-code/keybindings.json",
  "bindings": [
    {
      "context": "Chat",
      "bindings": {
        "ctrl+k ctrl+t": "chat:thinkingToggle",
        "ctrl+k ctrl+m": "chat:modelPicker",
        "ctrl+k ctrl+e": "chat:externalEditor"
      }
    }
  ]
}

最もよく使うアクションが1キーのバインディングをキープします。それ以外はコード1つで呼び出せます。

独自の設定を構築する

ゆっくり進めましょう。アプリ全体を一度に変更するのは罠です。より賢明なアプローチを紹介します:

  1. /keybindingsを実行して設定ファイルを生成する
  2. 最悪の3つの問題点を選ぶ(ショートカットの衝突、欠けているバインディング、誤動作)
  3. まずその3つを修正するターゲットを絞ったエントリで
  4. /doctorを実行してファイルを検証する
  5. Claude Codeのフルセッションを費やすと何がまだひっかかるかメモする
  6. 繰り返し改善する摩擦が現れたらバインディングを追加または調整する

すべての可能なショートカットをカスタマイズすることは目標ではありません。目標は、手が期待することとClaude Codeが実行することのギャップを閉じることです。5〜10個のバインディングで通常はツールが自分のものとして感じられるようになります。

キーバインディングは物理的な側面を担います。CLAUDE.mdとカスタムスラッシュコマンドが動作面を担います。これらを組み合わせると、Claude Codeがあなたのワークフローに合わせて構築されたかのように感じられます。

Continue in Extensions

  • AIによるSEOとGEO最適化
    Generative Engine Optimizationの解説: Googleで上位表示されるだけでなく、ChatGPT、Claude、Perplexityの回答内でコンテンツが引用されるようにする方法。
  • 2026年版 Claude Code と Cursor の比較
    2026年の Claude Code と Cursor を並べて比較します。エージェントモデル、コンテキストウィンドウ、料金プラン、そして各ツールが異なる開発ワークフローにどう適合するかを解説します。
  • Claude Code VS Code拡張機能
    AnthropicのVS Code拡張機能は、Claude CodeをエディタサイドバーのSparkアイコンパネルとして組み込みます。インラインdiff、プランモード、サブエージェント、MCPサポートが利用できます。
  • OpenClaw vs Claude Code
    OpenClaw vs Claude Code: メッセージングアプリに接続されたライフアシスタントと、リポジトリを読んでアーキテクチャを理解するターミナルコーディングエージェント。それぞれがワークフローに組み込まれるべきタイミング。
  • Claude Code ステータスラインの設定方法
    モデル名、Gitブランチ、セッションコスト、コンテキスト使用率を表示するステータスラインをClaude Codeに組み込む方法。settings.jsonの設定、JSONの入力仕様、Bash・Python・Nodeスクリプトのサンプル付き。

More from Toolkit

  • キーボードショートカット
    Claude Codeのkeybindings.jsonを設定する: 17のコンテキスト、キーストローク構文、コードシーケンス、修飾キーの組み合わせ、デフォルトショートカットを即座に無効化する方法。
  • ステータスラインガイド
    Claude Code のステータスラインにモデル名、gitブランチ、セッションコスト、コンテキスト使用量を表示する方法。settings.json の設定、JSON入力、bash、Python、Node.js スクリプトを解説。
  • Claude Code セットアップフック
    スクリプト、エージェント、ドキュメントをClaude Codeのセットアップフックに組み合わせる方法。1つのコマンドで決定論的スクリプトを実行し、診断エージェントに出力を渡し、自動更新されるドキュメントを記録する。
  • Claude Code コンテキストバックアップフック
    StatusLineを活用したClaude Codeのコンテキストバックアップフック。10Kトークンごとに構造化されたスナップショットを書き込み、自動圧縮によってエラー文字列・関数シグネチャ・判断内容が失われるのを防ぐ。

設定をやめて、構築を始めよう。

AIオーケストレーション付きSaaSビルダーテンプレート。

On this page

カスタムキーバインディングの最初のステップ
コンテキストの仕組み
すべてのアクション一覧
グローバルアクション
チャットアクション
履歴アクション
オートコンプリートアクション
確認アクション
トランスクリプトアクション
履歴検索アクション
タスクアクション
テーマ、ヘルプ、設定アクション
ナビゲーションアクション
キーストロークの構文
モディファイア
大文字とShift
コードシーケンス
特殊キー
デフォルトショートカットのオフ
予約済みショートカット
ターミナルマルチプレクサとの競合
Vimモードとの相互作用
バリデーションと診断
実用的な設定例
VS Codeユーザー向けの設定
tmuxフレンドリーな設定
最小限の干渉設定
コードベースのパワーユーザー設定
独自の設定を構築する

設定をやめて、構築を始めよう。

AIオーケストレーション付きSaaSビルダーテンプレート。