1[
2 // Cursor for MacOS. See: https://docs.cursor.com/kbd
3 {
4 "context": "Workspace",
5 "use_key_equivalents": true,
6 "bindings": {
7 "ctrl-i": "agent::ToggleFocus",
8 "ctrl-shift-i": "agent::ToggleFocus",
9 "ctrl-l": "agent::ToggleFocus",
10 "ctrl-shift-l": "agent::ToggleFocus",
11 "ctrl-shift-j": "agent::OpenSettings"
12 }
13 },
14 {
15 "context": "Editor && mode == full",
16 "use_key_equivalents": true,
17 "bindings": {
18 "ctrl-i": "agent::ToggleFocus",
19 "ctrl-shift-i": "agent::ToggleFocus",
20 "ctrl-shift-l": "agent::AddSelectionToThread", // In cursor uses "Ask" mode
21 "ctrl-l": "agent::AddSelectionToThread", // In cursor uses "Agent" mode
22 "ctrl-k": "assistant::InlineAssist",
23 "ctrl-shift-k": "assistant::InsertIntoEditor"
24 }
25 },
26 {
27 "context": "InlineAssistEditor",
28 "use_key_equivalents": true,
29 "bindings": {
30 "ctrl-shift-backspace": "editor::Cancel"
31 // "alt-enter": // Quick Question
32 // "ctrl-shift-enter": // Full File Context
33 // "ctrl-shift-k": // Toggle input focus (editor <> inline assist)
34 }
35 },
36 {
37 "context": "AgentPanel || ContextEditor || (MessageEditor > Editor)",
38 "use_key_equivalents": true,
39 "bindings": {
40 "ctrl-i": "workspace::ToggleRightDock",
41 "ctrl-shift-i": "workspace::ToggleRightDock",
42 "ctrl-l": "workspace::ToggleRightDock",
43 "ctrl-shift-l": "workspace::ToggleRightDock",
44 "ctrl-w": "workspace::ToggleRightDock", // technically should close chat
45 "ctrl-.": "agent::ToggleProfileSelector",
46 "ctrl-/": "agent::ToggleModelSelector",
47 "ctrl-shift-backspace": "editor::Cancel",
48 "ctrl-r": "agent::NewThread",
49 "ctrl-shift-v": "editor::Paste",
50 "ctrl-shift-k": "assistant::InsertIntoEditor"
51 // "escape": "agent::ToggleFocus"
52 ///// Enable when Zed supports multiple thread tabs
53 // "ctrl-t": // new thread tab
54 // "ctrl-[": // next thread tab
55 // "ctrl-]": // next thread tab
56 ///// Enable if Zed adds support for keyboard navigation of thread elements
57 // "tab": // cycle to next message
58 // "shift-tab": // cycle to previous message
59 }
60 },
61 {
62 "context": "Editor && editor_agent_diff",
63 "use_key_equivalents": true,
64 "bindings": {
65 "ctrl-enter": "agent::KeepAll",
66 "ctrl-backspace": "agent::RejectAll"
67 }
68 },
69 {
70 "context": "Editor && mode == full && edit_prediction",
71 "use_key_equivalents": true,
72 "bindings": {
73 "ctrl-right": "editor::AcceptPartialEditPrediction"
74 }
75 },
76 {
77 "context": "Terminal",
78 "use_key_equivalents": true,
79 "bindings": {
80 "ctrl-k": "assistant::InlineAssist"
81 }
82 }
83]