SpyBara
Go Premium

keybindings.md 2026-09-21 22:59 UTC to 2026-09-22 23:59 UTC

This page contains 30 additions and 4 deletions.

2026
Wed 9 22:58 Sat 12 03:02 Mon 21 22:59 Tue 22 23:59 Fri 25 23:58

Sesuaikan pintasan keyboard

Sesuaikan pintasan keyboard di Claude Code dengan file konfigurasi keybindings.

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.

Field Deskripsi
$schema URL JSON Schema opsional untuk penyelesaian otomatis editor
$docs URL dokumentasi opsional
bindings Array blok binding berdasarkan konteks

Contoh ini mengikat Ctrl+E untuk membuka editor eksternal dalam konteks chat, dan membatalkan ikatan Ctrl+U:

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

Konteks

Setiap blok binding menentukan konteks di mana binding berlaku:

Konteks Deskripsi
Global Berlaku di mana saja dalam aplikasi
Chat Area input chat utama
Autocomplete Menu penyelesaian otomatis terbuka
Settings Menu pengaturan
Confirmation Dialog izin dan konfirmasi
Tabs Komponen navigasi tab
Help Menu bantuan terlihat
Transcript Penampil transkrip
HistorySearch Mode pencarian riwayat (Ctrl+R)
Task Tugas latar belakang sedang berjalan
ThemePicker Dialog pemilih tema
Attachments Navigasi lampiran gambar dalam dialog pilih
Footer Navigasi indikator footer (tugas, tim, diff, artefak)
MessageSelector Pemilihan pesan dialog rewind dan ringkasan
DiffDialog Navigasi penampil diff
DiffPanel Panel diff terbuka
ModelPicker Tingkat upaya pemilih model
EffortSlider Effort slider dibuka oleh /effort
Select Komponen select/list generik
Plugin Dialog plugin (jelajahi, temukan, kelola)
Agents Tampilan Agent (claude agents)
Scroll Pengguliran percakapan dan pemilihan teks dalam mode fullscreen

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 Default Deskripsi
app:interrupt Ctrl+C Batalkan operasi saat ini
app:exit Ctrl+D Keluar dari Claude Code. Tekan dua kali dalam 800ms untuk mengonfirmasi
app:redraw (unbound) Paksa terminal untuk digambar ulang
app:toggleTodos Ctrl+T Alihkan visibilitas daftar tugas Claude. Ini bukan tampilan background-task /tasks
app:toggleTranscript Ctrl+O Alihkan transkrip verbose

Tindakan riwayat

Tindakan untuk menavigasi riwayat perintah:

Tindakan Default Deskripsi
history:search Ctrl+R Buka pencarian riwayat
history:previous Up Item riwayat sebelumnya
history:next Down Item riwayat berikutnya

Tindakan chat

Tindakan yang tersedia dalam konteks Chat:

Tindakan Default Deskripsi
chat:cancel Escape Batalkan input saat ini
chat:clearInput Ctrl+L Paksa gambar ulang layar penuh, mempertahankan input dan percakapan
chat:clearScreen Cmd+K Sama dengan chat:clearInput. Lihat Hapus percakapan untuk cara Cmd+K berperilaku di iTerm2 dan Terminal.app
chat:killAgents Ctrl+X Ctrl+K Hentikan semua subagen latar belakang dalam sesi ini dan matikan balasan otomatis artefak untuk sisanya
chat:cycleMode Shift+Tab* Mode izin siklus
chat:modelPicker Meta+P Buka pemilih model
chat:fastMode Meta+O Alihkan mode cepat
chat:thinkingToggle Meta+T Alihkan pemikiran yang diperluas
chat:submit Enter Kirim pesan
chat:queueSubmit Ctrl+X Enter Kirim pesan, ditandai untuk menunggu giliran: saat Claude sedang bekerja, Claude Code antri dan tidak pernah mengganggu giliran. Tidak seperti chat:submit, ini mengirimkan draf bahkan saat saran pelengkapan otomatis terbuka. Memerlukan v2.1.247 atau lebih baru
chat:sendNow Ctrl+Enter, Ctrl+X Ctrl+S Ganggu giliran yang sedang berjalan sehingga pesan antri Anda, dan draf Anda bersama mereka, keluar segera. Ketika tidak ada yang berjalan, ini mengirimkan draf, dan dalam shell mode ini antri perintah tanpa mengganggu. Terminal yang tidak melaporkan kunci yang diperluas memberikan Ctrl+Enter sebagai Enter biasa, jadi Ctrl+X Ctrl+S adalah pengikatan yang berfungsi di terminal apa pun. Memerlukan v2.1.275 atau lebih baru
chat:newline Ctrl+J Sisipkan baris baru tanpa mengirim
chat:undo Ctrl+_, Ctrl+Shift+- Batalkan tindakan terakhir
chat:externalEditor Ctrl+G, Ctrl+X Ctrl+E Buka di editor eksternal. Pengiriman input tampilan agen juga mengikuti pengikatan pintasan keyboard tunggal tindakan ini
chat:stash Ctrl+S Simpan prompt saat ini
chat:imagePaste Ctrl+V (Alt+V di Windows dan WSL) Tempel gambar dari clipboard. Di WSL, kedua pintasan keyboard terikat secara default

*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 Default Deskripsi
autocomplete:accept Tab Terima saran
autocomplete:dismiss Escape Tutup menu
autocomplete:previous Up Saran sebelumnya
autocomplete:next Down Saran berikutnya

Tindakan konfirmasi

Tindakan yang tersedia dalam konteks Confirmation:

Tindakan Default Deskripsi
confirm:yes Enter Konfirmasi tindakan
confirm:no Escape Tolak tindakan
confirm:previous Up Opsi sebelumnya
confirm:next Down Opsi berikutnya
confirm:nextField Tab Bidang berikutnya
confirm:previousField (unbound) Bidang sebelumnya
confirm:toggle Space Alihkan pilihan
confirm:cycleMode Shift+Tab* Mode izin siklus. Pada prompt izin file, menutup bidang komentar yang terbuka; tanpa bidang terbuka, memilih opsi yang memungkinkan tindakan untuk sisa sesi, ketika prompt menawarkan opsi itu

*Di Windows tanpa mode VT (Node <24.2.0/<22.17.0, Bun <1.2.23), default ke Meta+M.

Sebelum v2.1.257, tindakan confirm:toggleExplanation, terikat ke Ctrl+E secara default, menampilkan penjelasan perintah yang dihasilkan model pada prompt izin Bash dan PowerShell.

Dialog menggunakan confirm:yes dan confirm:no untuk menerima dan membatalkan bahkan ketika mereka tidak mengajukan pertanyaan ya-atau-tidak. Jika Anda mengikat huruf telanjang seperti y atau n dalam konteks ini, huruf juga bertindak pada dialog yang tidak pernah menampilkannya sebagai kunci. Dialog yang menampilkan y dan n sebagai kuncinya membaca huruf-huruf itu sendiri dan tidak memerlukan pengikatan.

Contoh ini mengikat y ke confirm:yes dan n ke confirm:no:

{
  "bindings": [
    {
      "context": "Confirmation",
      "bindings": {
        "y": "confirm:yes",
        "n": "confirm:no"
      }
    }
  ]
}

Sebelum v2.1.280, y juga terikat ke confirm:yes dan n ke confirm:no secara default. Jika Anda membuat keybindings.json Anda dengan /keybindings sebelum v2.1.280, file mencantumkan kedua pengikatan dan mereka tetap berlaku sampai Anda menghapus kedua baris itu.

Tindakan izin

Tindakan yang tersedia dalam konteks Confirmation untuk dialog izin:

Tindakan Default Deskripsi
permission:toggleDebug (unbound) Alihkan info debug izin. Default sebelumnya dari Ctrl+D dihapus dalam v2.1.146 karena mengaburkan app:exit

Tindakan transkrip

Tindakan yang tersedia dalam konteks Transcript:

Tindakan Default Deskripsi
transcript:toggleShowAll Ctrl+E Alihkan tampilkan semua konten
transcript:exit q, Ctrl+C, Escape Keluar dari tampilan transkrip

transcript:toggleShowAll berlaku dalam renderer klasik saja; dalam rendering fullscreen, penampil transkrip tidak menawarkan toggle tampilkan semua.

Tindakan pencarian riwayat

Tindakan yang tersedia dalam konteks HistorySearch:

Tindakan Default Deskripsi
historySearch:next Ctrl+R Kecocokan berikutnya
historySearch:accept Escape, Tab Terima pilihan
historySearch:cancel Ctrl+C Batalkan pencarian
historySearch:execute Enter Jalankan perintah yang dipilih
historySearch:cycleScope Ctrl+S Siklus cakupan: sesi, proyek, di mana saja

Default historySearch:next, historySearch:accept, historySearch:cancel, dan historySearch:execute berlaku untuk pencarian riwayat inline dalam renderer klasik, yang selalu mencari prompt dari semua proyek. historySearch:cycleScope hanya berlaku dalam rendering fullscreen, di mana Ctrl+R membuka dialog pencarian sebagai gantinya dan Ctrl+S mengubah cakupannya. Kunci lain dialog diperbaiki dan tidak dapat diubah: Enter atau Tab menempatkan kecocokan yang disorot dalam input prompt dan Esc membatalkan.

Tindakan tugas

Tindakan yang tersedia dalam konteks Task:

Tindakan Default Deskripsi
task:background Ctrl+B, Ctrl+X Ctrl+B Tugas latar belakang saat ini. Akord Ctrl+X Ctrl+B menghindari konflik awalan tmux

Tindakan tema

Tindakan yang tersedia dalam konteks ThemePicker:

Tindakan Default Deskripsi
theme:toggleSyntaxHighlighting Ctrl+T Alihkan penyorotan sintaks

Tindakan bantuan

Tindakan yang tersedia dalam konteks Help:

Tindakan Default Deskripsi
help:dismiss Escape Tutup menu bantuan

Tindakan tab

Tindakan yang tersedia dalam konteks Tabs:

Tindakan Default Deskripsi
tabs:next Tab, Right Tab berikutnya
tabs:previous Shift+Tab, Left Tab sebelumnya

Tindakan lampiran

Tindakan yang tersedia dalam konteks Attachments:

Tindakan Default Deskripsi
attachments:next Right Lampiran berikutnya
attachments:previous Left Lampiran sebelumnya
attachments:remove Backspace, Delete Hapus lampiran yang dipilih
attachments:exit Down, Escape Keluar dari navigasi lampiran

Tindakan yang tersedia dalam konteks Footer:

Tindakan Default Deskripsi
footer:next Right Item footer berikutnya
footer:previous Left Item footer sebelumnya
footer:up Up Navigasi ke atas dalam footer (batalkan pilihan di atas)
footer:down Down Navigasi ke bawah dalam footer
footer:openSelected Enter Buka item footer yang dipilih
footer:clearSelection Escape Hapus pilihan footer
footer:dismiss Backspace, Delete Hapus tautan artefak yang dipilih dari footer; artefak yang dipublikasikan itu sendiri tidak terpengaruh. Pada baris footer lainnya, kunci ini tidak memiliki efek. Memerlukan v2.1.217 atau lebih baru

Saat item footer dipilih, seperti baris dalam panel agen di bawah prompt, Enter membukanya bahkan ketika Anda mengikat ulang Enter dalam konteks Chat ke chat:queueSubmit atau chat:newline.

Pengikatan Chat pada kunci yang konteks Footer tidak ikat, seperti Shift+Tab untuk chat:cycleMode, terus bekerja saat item dipilih.

Tindakan pemilih pesan

Tindakan yang tersedia dalam konteks MessageSelector:

Tindakan Default Deskripsi
messageSelector:up Up, K, Ctrl+P Naik dalam daftar
messageSelector:down Down, J, Ctrl+N Turun dalam daftar
messageSelector:top Ctrl+Up, Shift+Up, Meta+Up, Shift+K Lompat ke atas
messageSelector:bottom Ctrl+Down, Shift+Down, Meta+Down, Shift+J Lompat ke bawah
messageSelector:select Enter Pilih pesan

Tindakan diff

Tindakan yang tersedia dalam konteks DiffDialog:

Tindakan Default Deskripsi
diff:dismiss Escape Tutup penampil diff; dari tampilan detail, kembali ke daftar file sebagai gantinya
diff:previousSource Left Sumber diff sebelumnya
diff:nextSource Right Sumber diff berikutnya
diff:previousFile Up, K File sebelumnya dalam daftar file; gulir ke atas satu baris dalam tampilan detail
diff:nextFile Down, J File berikutnya dalam daftar file; gulir ke bawah satu baris dalam tampilan detail
diff:viewDetails Enter Lihat detail diff
diff:back (unbound) Kembali dalam penampil diff. Escape melakukan tindakan kembali melalui diff:dismiss. Default sebelumnya dari Left dalam tampilan detail dihapus dalam v2.1.203

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 Default Deskripsi
scroll:pageUp PageUp Gulir ke atas setengah viewport
scroll:pageDown PageDown Gulir ke bawah setengah viewport
scroll:fullPageUp Shift+Space, B Gulir ke atas viewport penuh
scroll:fullPageDown Space Gulir ke bawah viewport penuh
scroll:top G, Home Lompat ke atas
scroll:bottom Shift+G, End Lompat ke bawah

Tindakan panel diff

Tindakan untuk panel diff yang /diff buka dalam rendering fullscreen. app:cycleDiffBase berada dalam konteks DiffPanel, yang aktif saat panel terbuka; yang lainnya adalah Global. Panel memerlukan Claude Code v2.1.260 atau lebih baru.

Tindakan Default Deskripsi
app:toggleReplTab (unbound) Buka atau tutup panel diff, sama dengan menjalankan /diff
app:cycleDiffBase Ctrl+X B Siklus basis perbandingan panel: sesi ini, tidak berkomitmen, kemudian cabang
app:diffFileListUp Ctrl+Up, Meta+Up Gulir daftar file panel ke atas saat meluap
app:diffFileListDown Ctrl+Down, Meta+Down Gulir daftar file panel ke bawah saat meluap
app:toggleDiffNoiseFilter (unbound) Tampilkan atau sembunyikan file uji dan yang dihasilkan dalam panel
app:toggleDiffPreSession (unbound) Perluas atau tutup perubahan dari sebelum sesi ini

Tindakan pemilih model

Tindakan yang tersedia dalam konteks ModelPicker:

Tindakan Default Deskripsi
modelPicker:decreaseEffort Left Kurangi tingkat upaya
modelPicker:increaseEffort Right Tingkatkan tingkat upaya
modelPicker:thisSessionOnly s Terapkan model yang disorot ke sesi ini saja

Tindakan effort slider

Tindakan yang tersedia dalam konteks EffortSlider, slider yang terbuka saat Anda menjalankan /effort tanpa argumen. Kunci Left, Right, Enter, dan Escape slider tidak dapat diubah.

Tindakan Default Deskripsi
effortSlider:thisSessionOnly s Terapkan tingkat upaya yang difokuskan ke sesi ini saja. Memerlukan v2.1.257 atau lebih baru

Tindakan pilih

Tindakan yang tersedia dalam konteks Select:

Tindakan Default Deskripsi
select:next Down, J, Ctrl+N Opsi berikutnya
select:previous Up, K, Ctrl+P Opsi sebelumnya
select:pageUp PageUp Naik satu halaman opsi
select:pageDown PageDown Turun satu halaman opsi
select:first Home Opsi pertama
select:last End Opsi terakhir
select:accept Enter Terima pilihan
select:cancel Escape Batalkan pilihan

Claude Code menerapkan pengikatan select:pageUp, select:pageDown, select:first, dan select:last Anda dalam menu /skills. Dalam sebagian besar daftar lainnya, seperti pemilih /model, pengikatan select:first dan select:last Anda berlaku. PageUp dan PageDown halaman melalui opsi dalam daftar-daftar itu terlepas dari pengikatan Anda.

Sebelum v2.1.280, daftar-daftar lain itu mengabaikan Home, End, dan pengikatan select:first dan select:last Anda.

Tindakan plugin

Tindakan yang tersedia dalam konteks Plugin:

Tindakan Default Deskripsi
plugin:toggle Space Alihkan pemilihan plugin
plugin:install I Instal plugin yang dipilih
plugin:favorite F Tandai plugin yang dipilih sebagai favorit sehingga diurutkan di dekat bagian atas tab Installed

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 Default Deskripsi
settings:search / Masuk mode pencarian
settings:retry R Coba muat ulang data penggunaan saat terjadi kesalahan
select:accept Enter, Space Ubah pengaturan yang dipilih atau buka submenu-nya
confirm:no Escape Tutup panel. Perubahan sudah disimpan

Tindakan agen

Tindakan yang tersedia dalam konteks Agents, yang berlaku dalam tampilan agen, dibuka dengan claude agents. Memerlukan v2.1.257 atau lebih baru.

Tindakan Default Deskripsi
agents:switchView Ctrl+S Alihkan pengelompokan sesi antara state dan direktori
agents:togglePin Ctrl+T Pin atau unpin sesi yang dipilih

Saat tampilan agen terbuka, Claude Code menggunakan pengikatan Agents untuk kunci apa pun yang konteks Agents ikat, dan mengabaikan pengikatan Chat atau Global pada kunci yang sama. Misalnya, menekan Ctrl+S dalam tampilan agen mengalihkan pengelompokan sesi daripada memicu chat:stash default.

Pintasan editor eksternal pengiriman input bukan tindakan Agents. Tampilan agen mengikuti pengikatan chat:externalEditor konteks Chat, Ctrl+G secara default.

Pengikatan dipecat pada keystroke tunggal dalam tampilan agen, jadi akord Ctrl+X Ctrl+E yang terikat ke chat:externalEditor tidak membuka editor di sana.

Tindakan suara

Tindakan yang tersedia dalam konteks Chat ketika dikte suara diaktifkan:

Tindakan Default Deskripsi
voice:pushToTalk Space Tahan atau ketuk tergantung pada mode /voice

Tindakan scroll

Tindakan yang tersedia dalam konteks Scroll ketika rendering fullscreen diaktifkan:

Tindakan Default Deskripsi
scroll:lineUp wheelup Gulir ke atas satu baris. Pengguliran roda mouse memicu tindakan ini
scroll:lineDown wheeldown Gulir ke bawah satu baris. Pengguliran roda mouse memicu tindakan ini
scroll:pageUp PageUp Gulir ke atas setengah tinggi viewport
scroll:pageDown PageDown Gulir ke bawah setengah tinggi viewport
scroll:top Ctrl+Home Lompat ke awal percakapan
scroll:bottom Ctrl+End Lompat ke pesan terbaru dan aktifkan kembali auto-follow
scroll:halfPageUp (unbound) Gulir ke atas setengah tinggi viewport. Perilaku yang sama dengan scroll:pageUp, disediakan untuk rebind gaya vi
scroll:halfPageDown (unbound) Gulir ke bawah setengah tinggi viewport. Perilaku yang sama dengan scroll:pageDown, disediakan untuk rebind gaya vi
scroll:fullPageUp (unbound) Gulir ke atas tinggi viewport penuh
scroll:fullPageDown (unbound) Gulir ke bawah tinggi viewport penuh
selection:copy Ctrl+Shift+C / Cmd+C Salin teks yang dipilih ke clipboard
selection:clear (unbound) Hapus pemilihan teks aktif. Memerlukan v2.1.234 atau lebih baru
selection:extendLeft Shift+Left Perluas pemilihan aktif satu kolom ke kiri
selection:extendRight Shift+Right Perluas pemilihan aktif satu kolom ke kanan
selection:extendUp Shift+Up Perluas pemilihan aktif satu baris ke atas. Menggulir viewport ketika pemilihan mencapai tepi atas
selection:extendDown Shift+Down Perluas pemilihan aktif satu baris ke bawah. Menggulir viewport ketika pemilihan mencapai tepi bawah
selection:extendLineStart Shift+Home Perluas pemilihan aktif ke awal baris
selection:extendLineEnd Shift+End Perluas pemilihan aktif ke akhir baris

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:

ctrl+k          Ctrl + K
shift+tab       Shift + Tab
meta+p          Option + P pada macOS, Alt + P di tempat lain
ctrl+shift+c    Pengubah ganda

Huruf besar

Claude Code mengurai nama kunci tanpa memperhatikan huruf besar/kecil, jadi K adalah binding yang sama dengan k dan ctrl+K sama dengan ctrl+k. Untuk mengikat Shift dan huruf, tulis shift+k.

Tata letak keyboard non-US

Tulis nama kunci dari pintasan Ctrl sebagai karakter Latin bahkan ketika tata letak keyboard aktif Anda mengetik karakter lain.

Bagaimana Claude Code mencocokkan kunci yang Anda tekan dengan binding tergantung pada jenis tata letak:

  • Di bawah tata letak non-Latin seperti Cyrillic, Claude Code mencocokkan pintasan Ctrl berdasarkan posisi kunci tata letak US ketika terminal menggunakan protokol keyboard Kitty dan melaporkan posisi tersebut. Di terminal seperti itu, dengan tata letak Rusia aktif, menekan Ctrl dan tombol fisik W memicu ctrl+w. Di terminal yang tidak melaporkan posisi, Claude Code mencocokkan apa pun yang dikirim terminal untuk penekanan kunci: kode kontrol ASCII memicu pintasan Latin, dan penekanan kunci yang tiba sebagai karakter Cyrillic tidak cocok dengan binding apa pun
  • Di bawah tata letak yang mengatur ulang huruf Latin, seperti AZERTY, Claude Code mencocokkan huruf yang diketik kunci, jadi menekan Ctrl dan kunci berlabel A memicu ctrl+a

Sebelum v2.1.247, menekan pintasan Ctrl di bawah tata letak non-Latin tidak memicu binding-nya di terminal yang menggunakan protokol keyboard Kitty, seperti Ghostty, Kitty, WezTerm, dan iTerm2.

Chord

Chord adalah urutan keystroke yang dipisahkan oleh spasi:

ctrl+k ctrl+s   Tekan Ctrl+K, lepaskan, lalu Ctrl+S

Tekan setiap keystroke dalam 3 detik setelah yang sebelumnya. Jika Anda menunggu lebih lama, Claude Code membatalkan chord dan menampilkan pemberitahuan singkat yang mengatakan demikian.

Tombol khusus

  • escape atau esc - Tombol Escape
  • enter atau return - Tombol Enter
  • tab - Tombol Tab
  • space - Bilah spasi
  • up, down, left, right - Tombol panah
  • pageup, pagedown - Tombol Page Up dan Page Down
  • home, end - Tombol Home dan End
  • backspace, delete - Tombol hapus
  • wheelup, wheeldown - Peristiwa scroll roda mouse

Batalkan pintasan default

Atur tindakan ke null untuk membatalkan ikatan pintasan default:

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

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.

Claude Code mengikat chord default ini pada awalan ctrl+x: ctrl+x ctrl+k, ctrl+x ctrl+e, ctrl+x enter, ctrl+x ctrl+a, ctrl+x ctrl+s, dan ctrl+x tab di Chat, ctrl+x ctrl+b di Task, dan ctrl+x b di DiffPanel. Chord ctrl+x enter memerlukan v2.1.247 atau lebih baru, ctrl+x b, ctrl+x ctrl+a, dan ctrl+x tab memerlukan v2.1.260 atau lebih baru, dan ctrl+x ctrl+s memerlukan v2.1.275 atau lebih baru.

Untuk mengklaim kembali ctrl+x itu sendiri sebagai binding tombol tunggal, batalkan semuanya:

{
  "bindings": [
    {
      "context": "Task",
      "bindings": {
        "ctrl+x ctrl+b": null
      }
    },
    {
      "context": "DiffPanel",
      "bindings": {
        "ctrl+x b": null
      }
    },
    {
      "context": "Chat",
      "bindings": {
        "ctrl+x ctrl+k": null,
        "ctrl+x ctrl+e": null,
        "ctrl+x enter": null,
        "ctrl+x ctrl+a": null,
        "ctrl+x ctrl+s": null,
        "ctrl+x tab": null,
        "ctrl+x": "chat:newline"
      }
    }
  ]
}

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:

Pintasan Alasan
Ctrl+C Interrupt/cancel yang dikodekan keras
Ctrl+D Exit yang dikodekan keras
Ctrl+M Claude Code selalu menerimanya sebagai Enter
Ctrl+[ Claude Code selalu menerimanya sebagai Escape. Di terminal yang menggunakan protokol keyboard Kitty, ini memerlukan v2.1.242 atau lebih baru
Ctrl+I Claude Code selalu menerimanya sebagai Tab
Ctrl+H Mengirimkan byte backspace ASCII. Bagaimana Claude Code membacanya di Windows bergantung pada terminal Anda dan variabel lingkungan CLAUDE_CODE_BS_AS_CTRL_BACKSPACE
Caps Lock Tidak dikirimkan ke aplikasi terminal

Konflik terminal

Beberapa pintasan mungkin bertentangan dengan multiplexer terminal:

Pintasan Konflik
Ctrl+B Awalan tmux (tekan dua kali untuk mengirim)
Ctrl+A Awalan GNU screen
Ctrl+Z Suspend proses Unix (SIGTSTP)

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
  • Nilai action tidak valid, seperti action yang bukan string atau null
  • Nama action yang tidak dikenal, seperti typo dari action yang terdaftar. Claude Code melewati binding dan mempertahankan binding default apa pun untuk kunci tersebut. Sebelum v2.1.246, binding dengan nama action yang tidak dikenal secara diam-diam menonaktifkan kunci tersebut
  • Konflik pintasan yang dicadangkan
  • 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.