1[
2 {
3 "bindings": {
4 "cmd-{": "pane::ActivatePreviousItem",
5 "cmd-}": "pane::ActivateNextItem",
6 "cmd-0": "git_panel::ToggleFocus", // overrides `cmd-0` zoom reset
7 "shift-escape": null, // Unmap workspace::zoom
8 "cmd-~": "git::Branch",
9 "ctrl-f2": "debugger::Stop",
10 "f6": "debugger::Pause",
11 "f7": "debugger::StepInto",
12 "f8": "debugger::StepOver",
13 "shift-f8": "debugger::StepOut",
14 "f9": "debugger::Continue",
15 "shift-f9": "debugger::Start",
16 "alt-shift-f9": "debugger::Start",
17 },
18 },
19 {
20 "context": "Editor",
21 "bindings": {
22 "ctrl->": ["zed::IncreaseBufferFontSize", { "persist": true }],
23 "ctrl-<": ["zed::DecreaseBufferFontSize", { "persist": true }],
24 "ctrl-shift-j": "editor::JoinLines",
25 "cmd-d": "editor::DuplicateSelection",
26 "cmd-backspace": "editor::DeleteLine",
27 "cmd-pagedown": "editor::MovePageDown",
28 "cmd-pageup": "editor::MovePageUp",
29 "ctrl-alt-shift-b": "editor::SelectToPreviousWordStart",
30 "cmd-alt-enter": "editor::NewlineAbove",
31 "shift-enter": "editor::NewlineBelow",
32 "cmd--": "editor::Fold",
33 "cmd-+": "editor::UnfoldLines",
34 "alt-shift-g": "editor::SplitSelectionIntoLines",
35 "ctrl-g": ["editor::SelectNext", { "replace_newest": false }],
36 "ctrl-shift-g": "editor::UndoSelection",
37 "ctrl-cmd-g": ["editor::SelectPrevious", { "replace_newest": false }],
38 "cmd-/": ["editor::ToggleComments", { "advance_downwards": true }],
39 "alt-up": "editor::SelectLargerSyntaxNode",
40 "alt-down": "editor::SelectSmallerSyntaxNode",
41 "shift-alt-up": "editor::MoveLineUp",
42 "shift-alt-down": "editor::MoveLineDown",
43 "cmd-alt-l": "editor::Format",
44 "ctrl-alt-o": "editor::OrganizeImports",
45 "shift-f6": "editor::Rename",
46 "cmd-[": "pane::GoBack",
47 "cmd-]": "pane::GoForward",
48 "alt-f7": "editor::FindAllReferences",
49 "cmd-alt-f7": "editor::FindAllReferences",
50 "cmd-b": "editor::GoToDefinition", // Conflicts with workspace::ToggleLeftDock
51 "cmd-alt-b": "editor::GoToImplementation",
52 "cmd-shift-b": "editor::GoToTypeDefinition",
53 "cmd-alt-shift-b": "editor::GoToTypeDefinitionSplit",
54 "f2": "editor::GoToDiagnostic",
55 "shift-f2": "editor::GoToPreviousDiagnostic",
56 "ctrl-alt-shift-down": "editor::GoToHunk",
57 "ctrl-alt-shift-up": "editor::GoToPreviousHunk",
58 "cmd-home": "editor::MoveToBeginning",
59 "cmd-end": "editor::MoveToEnd",
60 "cmd-shift-home": "editor::SelectToBeginning",
61 "cmd-shift-end": "editor::SelectToEnd",
62 "alt-left": "editor::MoveToPreviousSubwordStart",
63 "alt-right": "editor::MoveToNextSubwordEnd",
64 "shift-alt-left": "editor::SelectToPreviousSubwordStart",
65 "shift-alt-right": "editor::SelectToNextSubwordEnd",
66 "ctrl-f8": "editor::ToggleBreakpoint",
67 "ctrl-shift-f8": "editor::EditLogBreakpoint",
68 "cmd-shift-u": "editor::ToggleCase",
69 },
70 },
71 {
72 "context": "Editor && mode == full",
73 "bindings": {
74 "cmd-f12": "outline::Toggle",
75 "cmd-r": ["buffer_search::Deploy", { "replace_enabled": true }],
76 "cmd-l": "go_to_line::Toggle",
77 "cmd-e": "file_finder::Toggle",
78 "cmd-shift-o": "file_finder::Toggle",
79 "cmd-shift-n": "file_finder::Toggle",
80 "alt-enter": "editor::ToggleCodeActions",
81 "ctrl-space": "editor::ShowCompletions",
82 "cmd-j": "editor::Hover",
83 "cmd-p": "editor::ShowSignatureHelp",
84 "cmd-\\": "assistant::InlineAssist",
85 },
86 },
87 {
88 "context": "Editor && mode == auto_height",
89 "bindings": {
90 "shift-enter": "editor::Newline",
91 "ctrl-shift-enter": "editor::NewlineBelow",
92 },
93 },
94 {
95 "context": "BufferSearchBar",
96 "bindings": {
97 "shift-enter": "search::SelectPreviousMatch",
98 },
99 },
100 {
101 "context": "BufferSearchBar || ProjectSearchBar",
102 "bindings": {
103 "alt-c": "search::ToggleCaseSensitive",
104 "alt-e": "search::ToggleSelection",
105 "alt-x": "search::ToggleRegex",
106 "alt-w": "search::ToggleWholeWord",
107 "ctrl-alt-c": "search::ToggleCaseSensitive",
108 "ctrl-alt-e": "search::ToggleSelection",
109 "ctrl-alt-w": "search::ToggleWholeWord",
110 "ctrl-alt-x": "search::ToggleRegex",
111 },
112 },
113 {
114 "context": "Workspace",
115 "bindings": {
116 "cmd-shift-f12": "workspace::ToggleAllDocks",
117 "cmd-shift-r": ["pane::DeploySearch", { "replace_enabled": true }],
118 "ctrl-alt-r": "task::Spawn",
119 "shift-f10": "task::Spawn",
120 "cmd-f5": "task::Rerun",
121 "cmd-e": "file_finder::Toggle",
122 "cmd-k": "git_panel::ToggleFocus", // bug: This should also focus commit editor
123 "cmd-shift-o": "file_finder::Toggle",
124 "cmd-shift-n": "file_finder::Toggle",
125 "cmd-n": "project_symbols::Toggle",
126 "cmd-shift-a": "command_palette::Toggle",
127 "shift shift": "command_palette::Toggle",
128 "cmd-alt-o": "project_symbols::Toggle", // JetBrains: Go to Symbol
129 "cmd-o": "project_symbols::Toggle", // JetBrains: Go to Class
130 "cmd-1": "project_panel::ToggleFocus",
131 "cmd-5": "debug_panel::ToggleFocus",
132 "cmd-6": "diagnostics::Deploy",
133 "cmd-7": "outline_panel::ToggleFocus",
134 },
135 },
136 {
137 "context": "Pane", // this is to override the default Pane mappings to switch tabs
138 "bindings": {
139 "cmd-1": "project_panel::ToggleFocus",
140 "cmd-2": null, // Bookmarks (left dock)
141 "cmd-3": null, // Find Panel (bottom dock)
142 "cmd-4": null, // Run Panel (bottom dock)
143 "cmd-5": "debug_panel::ToggleFocus",
144 "cmd-6": "diagnostics::Deploy",
145 "cmd-7": "outline_panel::ToggleFocus",
146 "cmd-8": null, // Services (bottom dock)
147 "cmd-9": null, // Git History (bottom dock)
148 "cmd-0": "git_panel::ToggleFocus",
149 },
150 },
151 {
152 "context": "Workspace || Editor",
153 "bindings": {
154 "alt-f12": "terminal_panel::Toggle",
155 "cmd-shift-k": "git::Push",
156 },
157 },
158 {
159 "context": "Pane",
160 "bindings": {
161 "cmd-alt-left": "pane::GoBack",
162 "cmd-alt-right": "pane::GoForward",
163 "alt-left": "pane::ActivatePreviousItem",
164 "alt-right": "pane::ActivateNextItem",
165 },
166 },
167 {
168 "context": "ProjectPanel",
169 "bindings": {
170 "enter": "project_panel::Open",
171 "cmd-shift-f": "project_panel::NewSearchInDirectory",
172 "cmd-backspace": ["project_panel::Trash", { "skip_prompt": false }],
173 "backspace": ["project_panel::Trash", { "skip_prompt": false }],
174 "delete": ["project_panel::Trash", { "skip_prompt": false }],
175 "shift-delete": ["project_panel::Delete", { "skip_prompt": false }],
176 "shift-f6": "project_panel::Rename",
177 },
178 },
179 {
180 "context": "Terminal",
181 "bindings": {
182 "cmd-t": "workspace::NewTerminal",
183 "alt-f12": "workspace::CloseActiveDock",
184 "cmd-up": "terminal::ScrollLineUp",
185 "cmd-down": "terminal::ScrollLineDown",
186 "shift-pageup": "terminal::ScrollPageUp",
187 "shift-pagedown": "terminal::ScrollPageDown",
188 },
189 },
190 { "context": "GitPanel", "bindings": { "cmd-0": "workspace::CloseActiveDock" } },
191 { "context": "ProjectPanel", "bindings": { "cmd-1": "workspace::CloseActiveDock" } },
192 { "context": "DebugPanel", "bindings": { "cmd-5": "workspace::CloseActiveDock" } },
193 { "context": "Diagnostics > Editor", "bindings": { "cmd-6": "pane::CloseActiveItem" } },
194 { "context": "OutlinePanel", "bindings": { "cmd-7": "workspace::CloseActiveDock" } },
195 {
196 "context": "Dock || Workspace || OutlinePanel || ProjectPanel || CollabPanel",
197 "bindings": {
198 "escape": "editor::ToggleFocus",
199 "shift-escape": "workspace::CloseActiveDock",
200 },
201 },
202 {
203 "context": "Editor && mode == auto_height",
204 "bindings": {
205 "escape": "editor::Cancel",
206 },
207 },
208]