ปรับแต่งคีย์บอร์ดชอร์ตคัต
ปรับแต่งคีย์บอร์ดชอร์ตคัตใน Claude Code ด้วยไฟล์การตั้งค่า keybindings
การปรับแต่งคีย์บอร์ดชอร์ตคัตต้องใช้ Claude Code v2.1.18 หรือใหม่กว่า ตรวจสอบเวอร์ชันด้วย claude --version
Claude Code รองรับการปรับแต่งคีย์บอร์ดชอร์ตคัต รัน /keybindings เพื่อสร้างหรือเปิดไฟล์การตั้งค่าที่ ~/.claude/keybindings.json
ไฟล์การตั้งค่า
ไฟล์การตั้งค่า keybindings เป็น object ที่มี array bindings แต่ละ block ระบุ context และ map ของการกดปุ่มกับ action
การเปลี่ยนแปลงไฟล์ keybindings จะถูกตรวจจับและนำไปใช้โดยอัตโนมัติโดยไม่ต้องรีสตาร์ท Claude Code
| Field | คำอธิบาย |
|---|---|
$schema | URL ของ JSON Schema สำหรับ editor autocompletion (ไม่บังคับ) |
$docs | URL ของเอกสาร (ไม่บังคับ) |
bindings | Array ของ 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 | เมนูการตั้งค่า |
Confirmation | dialog การยืนยันและสิทธิ์ |
Tabs | คอมโพเนนต์ navigation แท็บ |
Help | เมนูช่วยเหลือแสดงอยู่ |
Transcript | Transcript viewer |
HistorySearch | โหมดค้นหาประวัติ (Ctrl+R) |
Task | มี background task กำลังทำงาน |
ThemePicker | dialog เลือกธีม |
Attachments | navigation ไฟล์แนบรูปภาพ |
Footer | navigation ตัวบ่งชี้ footer |
MessageSelector | การเลือกข้อความ rewind และ summarize |
DiffDialog | navigation ตัวดู diff |
ModelPicker | ระดับ effort ของ model picker |
Select | คอมโพเนนต์ select/list ทั่วไป |
Plugin | dialog plugin (เรียกดู, ค้นพบ, จัดการ) |
Scroll | การเลื่อนบทสนทนาและการเลือกข้อความในโหมดเต็มหน้าจอ |
Doctor | หน้าจอวินิจฉัย /doctor |
Actions ที่ใช้ได้
Actions ใช้รูปแบบ namespace:action เช่น chat:submit เพื่อส่งข้อความ หรือ app:toggleTodos เพื่อแสดงรายการงาน
App actions
Actions ที่ใช้ได้ใน context Global:
| Action | ค่าเริ่มต้น | คำอธิบาย |
|---|---|---|
app:interrupt | Ctrl+C | ยกเลิกการดำเนินการปัจจุบัน |
app:exit | Ctrl+D | ออกจาก Claude Code |
app:redraw | (ไม่ผูก) | บังคับให้วาดเทอร์มินัลใหม่ |
app:toggleTodos | Ctrl+T | สลับการแสดงรายการงาน |
app:toggleTranscript | Ctrl+O | สลับ transcript แบบละเอียด |
History actions
Actions สำหรับนำทางประวัติคำสั่ง:
| Action | ค่าเริ่มต้น | คำอธิบาย |
|---|---|---|
history:search | Ctrl+R | เปิดการค้นหาประวัติ |
history:previous | Up | รายการประวัติก่อนหน้า |
history:next | Down | รายการประวัติถัดไป |
Chat actions
Actions ที่ใช้ได้ใน context Chat:
| Action | ค่าเริ่มต้น | คำอธิบาย |
|---|---|---|
chat:cancel | Escape | ยกเลิกการป้อนข้อมูลปัจจุบัน |
chat:clearInput | Ctrl+L | บังคับให้วาดหน้าจอใหม่ทั้งหมด |
chat:clearScreen | Cmd+K | ล้างหน้าจอ |
chat:killAgents | Ctrl+X Ctrl+K | หยุด subagents ที่กำลังทำงานทั้งหมด |
chat:cycleMode | Shift+Tab | สลับโหมดสิทธิ์ |
chat:modelPicker | Meta+P | เปิด model picker |
chat:fastMode | Meta+O | สลับ fast mode |
chat:thinkingToggle | Meta+T | สลับ extended thinking |
chat:submit | Enter | ส่งข้อความ |
chat:newline | Ctrl+J | แทรกบรรทัดใหม่โดยไม่ส่ง |
chat:undo | Ctrl+_, Ctrl+Shift+- | เลิกทำ action ล่าสุด |
chat:externalEditor | Ctrl+G, Ctrl+X Ctrl+E | เปิดใน external editor |
chat:stash | Ctrl+S | Stash prompt ปัจจุบัน |
chat:imagePaste | Ctrl+V (Alt+V บน Windows และ WSL) | วางรูปภาพจาก clipboard |
Autocomplete actions
| Action | ค่าเริ่มต้น | คำอธิบาย |
|---|---|---|
autocomplete:accept | Tab | ยอมรับคำแนะนำ |
autocomplete:dismiss | Escape | ปิดเมนู |
autocomplete:previous | Up | คำแนะนำก่อนหน้า |
autocomplete:next | Down | คำแนะนำถัดไป |
Confirmation actions
| Action | ค่าเริ่มต้น | คำอธิบาย |
|---|---|---|
confirm:yes | Y, Enter | ยืนยัน action |
confirm:no | N, Escape | ปฏิเสธ action |
confirm:previous | Up | ตัวเลือกก่อนหน้า |
confirm:next | Down | ตัวเลือกถัดไป |
confirm:nextField | Tab | ฟิลด์ถัดไป |
confirm:toggle | Space | สลับการเลือก |
confirm:cycleMode | Shift+Tab | สลับโหมดสิทธิ์ |
confirm:toggleExplanation | Ctrl+E | สลับคำอธิบายสิทธิ์ |
Scroll actions
Actions ที่ใช้ได้ใน context Scroll เมื่อเปิดใช้งาน fullscreen rendering:
| Action | ค่าเริ่มต้น | คำอธิบาย |
|---|---|---|
scroll:pageUp | PageUp | เลื่อนขึ้นครึ่งหน้าจอ |
scroll:pageDown | PageDown | เลื่อนลงครึ่งหน้าจอ |
scroll:top | Ctrl+Home | ไปยังต้นบทสนทนา |
scroll:bottom | Ctrl+End | ไปยังข้อความล่าสุด |
selection:copy | Ctrl+Shift+C / Cmd+C | คัดลอกข้อความที่เลือก |
ไวยากรณ์คีย์
Modifiers
ใช้ modifier keys ด้วยตัวคั่น +:
ctrlหรือcontrol- ปุ่ม Controlshift- ปุ่ม Shiftalt,opt,option, หรือmeta- ปุ่ม Alt บน Windows และ Linux, ปุ่ม Option บน macOScmd,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- ปุ่ม Escapeenterหรือreturn- ปุ่ม Entertab- ปุ่ม Tabspace- Space barup,down,left,right- ปุ่มลูกศรbackspace,delete- ปุ่มลบ
ยกเลิก shortcuts เริ่มต้น
ตั้งค่า action เป็น null เพื่อยกเลิก shortcut เริ่มต้น:
{
"bindings": [
{
"context": "Chat",
"bindings": {
"ctrl+s": null
}
}
]
}
Shortcuts ที่สงวนไว้
Shortcuts เหล่านี้ไม่สามารถผูกใหม่ได้:
| Shortcut | เหตุผล |
|---|---|
| Ctrl+C | interrupt/cancel แบบ hardcoded |
| Ctrl+D | exit แบบ hardcoded |
| Ctrl+M | เหมือนกับ Enter ในเทอร์มินัล |
| Caps Lock | ไม่ถูกส่งไปยังแอปพลิเคชันเทอร์มินัล |
ข้อขัดแย้งกับเทอร์มินัล
Shortcuts บางอย่างอาจขัดแย้งกับ terminal multiplexers:
| Shortcut | ข้อขัดแย้ง |
|---|---|
| Ctrl+B | tmux prefix (กดสองครั้งเพื่อส่ง) |
| Ctrl+A | GNU screen prefix |
| Ctrl+Z | Unix process suspend (SIGTSTP) |
การตรวจสอบ
Claude Code ตรวจสอบ keybindings และแสดงคำเตือนสำหรับ:
- ข้อผิดพลาดการแยกวิเคราะห์ (JSON หรือโครงสร้างไม่ถูกต้อง)
- ชื่อ context ไม่ถูกต้อง
- ข้อขัดแย้ง shortcut ที่สงวนไว้
- ข้อขัดแย้งกับ terminal multiplexer
- Bindings ที่ซ้ำกันใน context เดียวกัน
รัน /doctor เพื่อดูคำเตือน keybindings