/keybindings untuk membuat atau membuka file konfigurasi Anda di ~/.claude/keybindings.json.
File konfigurasi
File konfigurasi pintasan keyboard adalah objek dengan arraybindings. 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 formatnamespace: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 konteksGlobal:
Tindakan riwayat
Tindakan untuk menavigasi riwayat perintah:Tindakan chat
Tindakan yang tersedia dalam konteksChat:
*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 konteksAutocomplete:
Tindakan konfirmasi
Tindakan yang tersedia dalam konteksConfirmation:
Tindakan izin
Tindakan yang tersedia dalam konteksConfirmation untuk dialog izin:
Tindakan transkrip
Tindakan yang tersedia dalam konteksTranscript:
Tindakan pencarian riwayat
Tindakan yang tersedia dalam konteksHistorySearch:
Tindakan tugas
Tindakan yang tersedia dalam konteksTask:
Tindakan tema
Tindakan yang tersedia dalam konteksThemePicker:
Tindakan bantuan
Tindakan yang tersedia dalam konteksHelp:
Tindakan tab
Tindakan yang tersedia dalam konteksTabs:
Tindakan lampiran
Tindakan yang tersedia dalam konteksAttachments:
Tindakan footer
Tindakan yang tersedia dalam konteksFooter:
Tindakan pemilih pesan
Tindakan yang tersedia dalam konteksMessageSelector:
Tindakan diff
Tindakan yang tersedia dalam konteksDiffDialog:
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 konteksModelPicker:
Tindakan pilih
Tindakan yang tersedia dalam konteksSelect:
Tindakan plugin
Tindakan yang tersedia dalam konteksPlugin:
Tindakan pengaturan
Tindakan yang tersedia dalam konteksSettings. 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 konteksChat ketika dikte suara diaktifkan:
Tindakan scroll
Tindakan yang tersedia dalam konteksScroll ketika rendering fullscreen diaktifkan:
Sintaks keystroke
Pengubah
Gunakan tombol pengubah dengan pemisah+:
ctrlataucontrol- Tombol Controlshift- Tombol Shiftalt,opt,option, ataumeta- Tombol Alt pada Windows dan Linux, tombol Option pada macOScmd,command,super, atauwin- Tombol Command pada macOS, tombol Windows pada Windows, tombol Super pada Linux
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
escapeatauesc- Tombol Escapeenterataureturn- Tombol Entertab- Tombol Tabspace- Bilah spasiup,down,left,right- Tombol panahbackspace,delete- Tombol hapus
Batalkan pintasan default
Atur tindakan kenull untuk membatalkan ikatan pintasan default:
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:
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
jjke Escape, gunakan pengaturanvimInsertModeRemaps - 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
--debug untuk melihat detailnya.