Skip to main content

ปรับแต่งคีย์บอร์ดชอร์ตคัต

ปรับแต่งคีย์บอร์ดชอร์ตคัตใน Claude Code ด้วยไฟล์การตั้งค่า keybindings

note

การปรับแต่งคีย์บอร์ดชอร์ตคัตต้องใช้ Claude Code v2.1.18 หรือใหม่กว่า ตรวจสอบเวอร์ชันด้วย claude --version

Claude Code รองรับการปรับแต่งคีย์บอร์ดชอร์ตคัต รัน /keybindings เพื่อสร้างหรือเปิดไฟล์การตั้งค่าที่ ~/.claude/keybindings.json

ไฟล์การตั้งค่า

ไฟล์การตั้งค่า keybindings เป็น object ที่มี array bindings แต่ละ block ระบุ context และ map ของการกดปุ่มกับ action

note

การเปลี่ยนแปลงไฟล์ keybindings จะถูกตรวจจับและนำไปใช้โดยอัตโนมัติโดยไม่ต้องรีสตาร์ท Claude Code

Fieldคำอธิบาย
$schemaURL ของ JSON Schema สำหรับ editor autocompletion (ไม่บังคับ)
$docsURL ของเอกสาร (ไม่บังคับ)
bindingsArray ของ binding blocks ตาม context

ตัวอย่างนี้ผูก Ctrl+E เพื่อเปิด external editor ใน chat context และยกเลิกการผูก Ctrl+U:

{
"$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+u": null
}
}
]
}

Contexts

แต่ละ binding block ระบุ context ที่ bindings ใช้งาน:

Contextคำอธิบาย
Globalใช้งานทุกที่ในแอป
Chatพื้นที่ป้อนข้อความหลัก
Autocompleteเมนู autocomplete เปิดอยู่
Settingsเมนูการตั้งค่า
Confirmationdialog การยืนยันและสิทธิ์
Tabsคอมโพเนนต์ navigation แท็บ
Helpเมนูช่วยเหลือแสดงอยู่
TranscriptTranscript viewer
HistorySearchโหมดค้นหาประวัติ (Ctrl+R)
Taskมี background task กำลังทำงาน
ThemePickerdialog เลือกธีม
Attachmentsnavigation ไฟล์แนบรูปภาพ
Footernavigation ตัวบ่งชี้ footer
MessageSelectorการเลือกข้อความ rewind และ summarize
DiffDialognavigation ตัวดู diff
ModelPickerระดับ effort ของ model picker
Selectคอมโพเนนต์ select/list ทั่วไป
Plugindialog plugin (เรียกดู, ค้นพบ, จัดการ)
Scrollการเลื่อนบทสนทนาและการเลือกข้อความในโหมดเต็มหน้าจอ
Doctorหน้าจอวินิจฉัย /doctor

Actions ที่ใช้ได้

Actions ใช้รูปแบบ namespace:action เช่น chat:submit เพื่อส่งข้อความ หรือ app:toggleTodos เพื่อแสดงรายการงาน

App actions

Actions ที่ใช้ได้ใน context Global:

Actionค่าเริ่มต้นคำอธิบาย
app:interruptCtrl+Cยกเลิกการดำเนินการปัจจุบัน
app:exitCtrl+Dออกจาก Claude Code
app:redraw(ไม่ผูก)บังคับให้วาดเทอร์มินัลใหม่
app:toggleTodosCtrl+Tสลับการแสดงรายการงาน
app:toggleTranscriptCtrl+Oสลับ transcript แบบละเอียด

History actions

Actions สำหรับนำทางประวัติคำสั่ง:

Actionค่าเริ่มต้นคำอธิบาย
history:searchCtrl+Rเปิดการค้นหาประวัติ
history:previousUpรายการประวัติก่อนหน้า
history:nextDownรายการประวัติถัดไป

Chat actions

Actions ที่ใช้ได้ใน context Chat:

Actionค่าเริ่มต้นคำอธิบาย
chat:cancelEscapeยกเลิกการป้อนข้อมูลปัจจุบัน
chat:clearInputCtrl+Lบังคับให้วาดหน้าจอใหม่ทั้งหมด
chat:clearScreenCmd+Kล้างหน้าจอ
chat:killAgentsCtrl+X Ctrl+Kหยุด subagents ที่กำลังทำงานทั้งหมด
chat:cycleModeShift+Tabสลับโหมดสิทธิ์
chat:modelPickerMeta+Pเปิด model picker
chat:fastModeMeta+Oสลับ fast mode
chat:thinkingToggleMeta+Tสลับ extended thinking
chat:submitEnterส่งข้อความ
chat:newlineCtrl+Jแทรกบรรทัดใหม่โดยไม่ส่ง
chat:undoCtrl+_, Ctrl+Shift+-เลิกทำ action ล่าสุด
chat:externalEditorCtrl+G, Ctrl+X Ctrl+Eเปิดใน external editor
chat:stashCtrl+SStash prompt ปัจจุบัน
chat:imagePasteCtrl+V (Alt+V บน Windows และ WSL)วางรูปภาพจาก clipboard

Autocomplete actions

Actionค่าเริ่มต้นคำอธิบาย
autocomplete:acceptTabยอมรับคำแนะนำ
autocomplete:dismissEscapeปิดเมนู
autocomplete:previousUpคำแนะนำก่อนหน้า
autocomplete:nextDownคำแนะนำถัดไป

Confirmation actions

Actionค่าเริ่มต้นคำอธิบาย
confirm:yesY, Enterยืนยัน action
confirm:noN, Escapeปฏิเสธ action
confirm:previousUpตัวเลือกก่อนหน้า
confirm:nextDownตัวเลือกถัดไป
confirm:nextFieldTabฟิลด์ถัดไป
confirm:toggleSpaceสลับการเลือก
confirm:cycleModeShift+Tabสลับโหมดสิทธิ์
confirm:toggleExplanationCtrl+Eสลับคำอธิบายสิทธิ์

Scroll actions

Actions ที่ใช้ได้ใน context Scroll เมื่อเปิดใช้งาน fullscreen rendering:

Actionค่าเริ่มต้นคำอธิบาย
scroll:pageUpPageUpเลื่อนขึ้นครึ่งหน้าจอ
scroll:pageDownPageDownเลื่อนลงครึ่งหน้าจอ
scroll:topCtrl+Homeไปยังต้นบทสนทนา
scroll:bottomCtrl+Endไปยังข้อความล่าสุด
selection:copyCtrl+Shift+C / Cmd+Cคัดลอกข้อความที่เลือก

ไวยากรณ์คีย์

Modifiers

ใช้ modifier keys ด้วยตัวคั่น +:

  • ctrl หรือ control - ปุ่ม Control
  • shift - ปุ่ม Shift
  • alt, opt, option, หรือ meta - ปุ่ม Alt บน Windows และ Linux, ปุ่ม Option บน macOS
  • cmd, command, super, หรือ win - ปุ่ม Command บน macOS, ปุ่ม Windows บน Windows
ctrl+k          Ctrl + K
shift+tab Shift + Tab
meta+p Option + P บน macOS, Alt + P ที่อื่น
ctrl+shift+c ใช้หลาย modifiers พร้อมกัน

Chords

Chords คือลำดับการกดปุ่มที่คั่นด้วยช่องว่าง:

ctrl+k ctrl+s   กด Ctrl+K, ปล่อย, แล้ว Ctrl+S

ปุ่มพิเศษ

  • escape หรือ esc - ปุ่ม Escape
  • enter หรือ return - ปุ่ม Enter
  • tab - ปุ่ม Tab
  • space - Space bar
  • up, down, left, right - ปุ่มลูกศร
  • backspace, delete - ปุ่มลบ

ยกเลิก shortcuts เริ่มต้น

ตั้งค่า action เป็น null เพื่อยกเลิก shortcut เริ่มต้น:

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

Shortcuts ที่สงวนไว้

Shortcuts เหล่านี้ไม่สามารถผูกใหม่ได้:

Shortcutเหตุผล
Ctrl+Cinterrupt/cancel แบบ hardcoded
Ctrl+Dexit แบบ hardcoded
Ctrl+Mเหมือนกับ Enter ในเทอร์มินัล
Caps Lockไม่ถูกส่งไปยังแอปพลิเคชันเทอร์มินัล

ข้อขัดแย้งกับเทอร์มินัล

Shortcuts บางอย่างอาจขัดแย้งกับ terminal multiplexers:

Shortcutข้อขัดแย้ง
Ctrl+Btmux prefix (กดสองครั้งเพื่อส่ง)
Ctrl+AGNU screen prefix
Ctrl+ZUnix process suspend (SIGTSTP)

การตรวจสอบ

Claude Code ตรวจสอบ keybindings และแสดงคำเตือนสำหรับ:

  • ข้อผิดพลาดการแยกวิเคราะห์ (JSON หรือโครงสร้างไม่ถูกต้อง)
  • ชื่อ context ไม่ถูกต้อง
  • ข้อขัดแย้ง shortcut ที่สงวนไว้
  • ข้อขัดแย้งกับ terminal multiplexer
  • Bindings ที่ซ้ำกันใน context เดียวกัน

รัน /doctor เพื่อดูคำเตือน keybindings