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