Amazonで商品を見るセール会場へ

Claude Codeのキーバインドを変える方法|keybindings.jsonの書き方と既定のキー

Claude Codeのキー操作は、keybindings.json で変えられます。

公式ドキュメントから、設定ファイルの作り方と書き方を整理しました。

  • /keybindings で ~/.claude/keybindings.json を作って開く
  • 変更は、再起動しなくても自動で反映される
  • 解除したいキーは、値を null にする
  • Ctrl+Cなど一部のキーは割り当て直せない

キー操作の実機での再現は含まず、公式ページの記載(2026年9月30日に確認)に基づきます。

仕様や数値は変わることがあるので、最新は公式ページで確かめてください。

目次

設定ファイルの作り方

Claude Codeで /keybindings を実行すると、~/.claude/keybindings.json が作られて開きます。

公式の例は、次の形です。

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

bindings の配列に、コンテキストごとのブロックを並べます。

ブロックの中では、キーを左に、動作を右に書きます。

値を null にすると、そのキーの割り当てを解除できます。

コンテキスト

キーは、画面の状態(コンテキスト)ごとに割り当てます。

  • Global:どこでも有効
  • Chat:入力欄
  • Autocomplete:補完の候補
  • Settings:設定画面
  • Confirmation:確認の画面
  • Transcript:会話の記録
  • HistorySearch:履歴の検索

ほかにも、Tabs、Help、Task、ThemePicker、Select、Plugin、Agents、Scrollなどがあります。

全一覧は公式ページにあります。

動作の名前と既定のキー

動作の名前は namespace:action の形です。

動作既定のキー
chat:submitEnter
chat:newlineCtrl+J
chat:externalEditorCtrl+G、または Ctrl+X のあとに Ctrl+E
chat:stashCtrl+S
chat:cycleModeShift+Tab
chat:modelPickerMeta+P
app:toggleTodosCtrl+T
app:toggleTranscriptCtrl+O
history:searchCtrl+R
chat:imagePasteCtrl+V(WindowsとWSLは Alt+V)
出典:Claude Code公式ドキュメント(確認日 2026-09-30)

動作の名前には、バージョンで追加されたものがあります。

たとえば chat:queueSubmit は v2.1.247以降、chat:sendNow は v2.1.275以降と公式に書かれています。

キーの書き方

  • 修飾キーは + でつなぐ(ctrl、shift、alt、opt、option、meta、cmd、command、super、win)
  • 大文字と小文字は区別されない
  • 連続するキー(コード)は、スペースで区切る。例は ctrl+k ctrl+s
  • 連続キーは、それぞれ3秒以内に押す

cmd系のキーは、Kittyプロトコルなど、Superキーを報告するターミナルでだけ有効です。

広く使うなら、ctrlかmetaが無難です。

割り当て直せないキー

次のキーは、割り当て直せません。

  • Ctrl+C
  • Ctrl+D
  • Ctrl+M
  • Ctrl+[
  • Ctrl+I
  • Ctrl+H
  • Caps Lock

ターミナル側と衝突するキーもあります。

  • Ctrl+B:tmuxが使う
  • Ctrl+A:screenが使う
  • Ctrl+Z:SIGTSTP(一時停止)になる

Vimモードのキー

Vimモードのキーは、keybindings.json では変えられません。

jjでEscapeにするような割り当ては、vimInsertModeRemaps の設定で行います。

うまく動かないとき

不正な設定があると、警告がデバッグログに出ます。

claude –debug で起動して確かめます。

未知の動作名を書いたときは、その割り当てが無視されて既定のままになります。

これは v2.1.246以降の説明です。

Windowsでの各ターミナルごとの違いは、今回確認できていません。

関連記事:Claude Codeのステータスラインの設定

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

次に学ぶ・作業環境を選ぶ

学習を続けたい方や、作業環境を整えたい方は、目的に合うガイドをご覧ください。

生成AIのおすすめ書籍

周辺機器の優先度

目次