Langsung ke konten utama
Claude Code mendukung pintasan keyboard yang dapat disesuaikan. Jalankan /keybindings untuk membuat atau membuka file konfigurasi Anda di ~/.claude/keybindings.json.

File konfigurasi

File konfigurasi pintasan keyboard adalah objek dengan array bindings. Setiap blok menentukan konteks dan peta dari keystroke ke tindakan.
Perubahan pada file pintasan keyboard secara otomatis terdeteksi dan diterapkan tanpa perlu memulai ulang Claude Code.
Contoh ini mengikat Ctrl+E untuk membuka editor eksternal dalam konteks chat, dan membatalkan ikatan Ctrl+U:

Konteks

Setiap blok binding menentukan konteks di mana binding berlaku: Sebelum v2.1.205, konteks Doctor dan tindakan doctor:fix ada untuk layar diagnostik /doctor.

Tindakan yang tersedia

Tindakan mengikuti format namespace:action, seperti chat:submit untuk mengirim pesan atau app:toggleTodos untuk menampilkan daftar tugas. Setiap konteks memiliki tindakan spesifik yang tersedia.

Tindakan aplikasi

Tindakan yang tersedia dalam konteks Global:

Tindakan riwayat

Tindakan untuk menavigasi riwayat perintah:

Tindakan chat

Tindakan yang tersedia dalam konteks Chat: *Di Windows tanpa mode VT (Node <24.2.0/<22.17.0, Bun <1.2.23), default ke Meta+M.

Tindakan penyelesaian otomatis

Tindakan yang tersedia dalam konteks Autocomplete:

Tindakan konfirmasi

Tindakan yang tersedia dalam konteks Confirmation:

Tindakan izin

Tindakan yang tersedia dalam konteks Confirmation untuk dialog izin:

Tindakan transkrip

Tindakan yang tersedia dalam konteks Transcript:

Tindakan pencarian riwayat

Tindakan yang tersedia dalam konteks HistorySearch:

Tindakan tugas

Tindakan yang tersedia dalam konteks Task:

Tindakan tema

Tindakan yang tersedia dalam konteks ThemePicker:

Tindakan bantuan

Tindakan yang tersedia dalam konteks Help:

Tindakan tab

Tindakan yang tersedia dalam konteks Tabs:

Tindakan lampiran

Tindakan yang tersedia dalam konteks Attachments: Tindakan yang tersedia dalam konteks Footer:

Tindakan pemilih pesan

Tindakan yang tersedia dalam konteks MessageSelector:

Tindakan diff

Tindakan yang tersedia dalam konteks DiffDialog: Tampilan detail diff juga mengikat kunci gaya pager ke tindakan scroll standar. Pengikatan ini adalah bagian dari konteks DiffDialog dan hanya berlaku dalam tampilan detail; default konteks Scroll yang tercantum di bawah Tindakan scroll tidak berubah.

Tindakan pemilih model

Tindakan yang tersedia dalam konteks ModelPicker:

Tindakan pilih

Tindakan yang tersedia dalam konteks Select:

Tindakan plugin

Tindakan yang tersedia dalam konteks Plugin:

Tindakan pengaturan

Tindakan yang tersedia dalam konteks Settings. Tindakan select:accept dan confirm:no digunakan kembali dari konteks Select dan Confirmation dengan perilaku khusus Settings: perubahan diterapkan ke setiap pengaturan segera setelah Anda mengubahnya, jadi Escape menutup panel dengan perubahan Anda yang sudah disimpan daripada menolak.

Tindakan suara

Tindakan yang tersedia dalam konteks Chat ketika dikte suara diaktifkan:

Tindakan scroll

Tindakan yang tersedia dalam konteks Scroll ketika rendering fullscreen diaktifkan:

Sintaks keystroke

Pengubah

Gunakan tombol pengubah dengan pemisah +:
  • ctrl atau control - Tombol Control
  • shift - Tombol Shift
  • alt, opt, option, atau meta - Tombol Alt pada Windows dan Linux, tombol Option pada macOS
  • cmd, command, super, atau win - Tombol Command pada macOS, tombol Windows pada Windows, tombol Super pada Linux
Grup cmd hanya terdeteksi di terminal yang melaporkan pengubah Super, seperti yang mendukung protokol keyboard Kitty atau mode modifyOtherKeys xterm. Sebagian besar terminal tidak mengirimnya, jadi gunakan ctrl atau meta untuk binding yang ingin Anda gunakan di mana saja. Sebagai contoh:

Huruf besar

Huruf besar yang berdiri sendiri menyiratkan Shift. Sebagai contoh, K setara dengan shift+k. Ini berguna untuk binding gaya vim di mana kunci huruf besar dan kecil memiliki arti berbeda. Huruf besar dengan pengubah (misalnya, ctrl+K) diperlakukan sebagai gaya dan tidak menyiratkan Shift: ctrl+K sama dengan ctrl+k.

Chord

Chord adalah urutan keystroke yang dipisahkan oleh spasi:

Tombol khusus

  • escape atau esc - Tombol Escape
  • enter atau return - Tombol Enter
  • tab - Tombol Tab
  • space - Bilah spasi
  • up, down, left, right - Tombol panah
  • backspace, delete - Tombol hapus

Batalkan pintasan default

Atur tindakan ke null untuk membatalkan ikatan pintasan default:
Ini juga berfungsi untuk binding chord. Membatalkan setiap chord yang berbagi awalan membebaskan awalan itu untuk digunakan sebagai binding tombol tunggal. Sebuah chord dalam konteks aktif apa pun menjaga awalannya tetap terlindungi, jadi Anda harus membatalkan setiap chord dalam konteks yang mendefinisikannya. Keluarga Ctrl+X default mencakup dua konteks: ctrl+x ctrl+k dan ctrl+x ctrl+e di Chat, dan ctrl+x ctrl+b di Task. Untuk mengklaim kembali ctrl+x itu sendiri sebagai binding tombol tunggal, batalkan semuanya:
Jika Anda membatalkan beberapa tetapi tidak semua chord pada awalan, menekan awalan masih memasuki mode chord-wait untuk binding yang tersisa.

Pintasan yang dicadangkan

Pintasan ini tidak dapat diikat ulang:

Konflik terminal

Beberapa pintasan mungkin bertentangan dengan multiplexer terminal:

Interaksi mode vim

Ketika mode vim diaktifkan melalui /config → Editor mode, keybindings dan mode vim beroperasi secara independen:
  • Mode vim menangani input pada tingkat input teks (gerakan kursor, mode, motions)
  • Keybindings menangani tindakan pada tingkat komponen (alihkan todos, kirim, dll.)
  • Tombol Escape dalam mode vim beralih dari INSERT ke mode NORMAL; itu tidak memicu chat:cancel
  • Sebagian besar pintasan Ctrl+key melewati mode vim ke sistem keybinding
  • Kunci vim tidak dapat dipetakan ulang melalui file keybindings. Untuk memetakan urutan mode INSERT dua kunci seperti jj ke Escape, gunakan pengaturan vimInsertModeRemaps
  • Dalam mode NORMAL vim, ? menampilkan menu bantuan (perilaku vim)
  • Dalam mode NORMAL vim, / membuka pencarian riwayat, sama seperti Ctrl+R dalam mode standar

Validasi

Claude Code memvalidasi pintasan keyboard Anda dan menampilkan peringatan untuk:
  • Parse errors (JSON atau struktur tidak valid)
  • Nama konteks tidak valid
  • Konflik pintasan yang dicadangkan
  • Konflik multiplexer terminal
  • Binding duplikat dalam konteks yang sama
Claude Code melaporkan peringatan ketika file dimuat dan menulis masing-masing ke log debug. Mulai Claude Code dengan --debug untuk melihat detailnya.