default.json

  1[
  2    // Standard macOS bindings
  3    {
  4        "bindings": {
  5            "up": "menu::SelectPrev",
  6            "ctrl-p": "menu::SelectPrev",
  7            "down": "menu::SelectNext",
  8            "ctrl-n": "menu::SelectNext",
  9            "cmd-up": "menu::SelectFirst",
 10            "cmd-down": "menu::SelectLast",
 11            "enter": "menu::Confirm",
 12            "escape": "menu::Cancel",
 13            "ctrl-c": "menu::Cancel",
 14            "shift-cmd-{": "pane::ActivatePrevItem",
 15            "shift-cmd-}": "pane::ActivateNextItem",
 16            "cmd-w": "pane::CloseActiveItem",
 17            "cmd-shift-W": "workspace::CloseWindow",
 18            "alt-cmd-w": "pane::CloseInactiveItems",
 19            "cmd-s": "workspace::Save",
 20            "cmd-shift-S": "workspace::SaveAs",
 21            "cmd-=": "zed::IncreaseBufferFontSize",
 22            "cmd--": "zed::DecreaseBufferFontSize",
 23            "cmd-0": "zed::ResetBufferFontSize",
 24            "cmd-,": "zed::OpenSettings",
 25            "cmd-q": "zed::Quit",
 26            "cmd-n": "workspace::NewFile",
 27            "cmd-shift-N": "workspace::NewWindow",
 28            "cmd-o": "workspace::Open"
 29        }
 30    },
 31    {
 32        "context": "Editor",
 33        "bindings": {
 34            "escape": "editor::Cancel",
 35            "backspace": "editor::Backspace",
 36            "shift-backspace": "editor::Backspace",
 37            "ctrl-h": "editor::Backspace",
 38            "delete": "editor::Delete",
 39            "ctrl-d": "editor::Delete",
 40            "tab": "editor::Tab",
 41            "shift-tab": "editor::TabPrev",
 42            "ctrl-k": "editor::CutToEndOfLine",
 43            "ctrl-t": "editor::Transpose",
 44            "cmd-backspace": "editor::DeleteToBeginningOfLine",
 45            "cmd-delete": "editor::DeleteToEndOfLine",
 46            "alt-backspace": "editor::DeleteToPreviousWordStart",
 47            "alt-delete": "editor::DeleteToNextWordEnd",
 48            "alt-h": "editor::DeleteToPreviousWordStart",
 49            "alt-d": "editor::DeleteToNextWordEnd",
 50            "cmd-x": "editor::Cut",
 51            "cmd-c": "editor::Copy",
 52            "cmd-v": "editor::Paste",
 53            "cmd-z": "editor::Undo",
 54            "cmd-shift-Z": "editor::Redo",
 55            "up": "editor::MoveUp",
 56            "down": "editor::MoveDown",
 57            "left": "editor::MoveLeft",
 58            "right": "editor::MoveRight",
 59            "ctrl-p": "editor::MoveUp",
 60            "ctrl-n": "editor::MoveDown",
 61            "ctrl-b": "editor::MoveLeft",
 62            "ctrl-f": "editor::MoveRight",
 63            "alt-left": "editor::MoveToPreviousWordStart",
 64            "alt-b": "editor::MoveToPreviousWordStart",
 65            "alt-right": "editor::MoveToNextWordEnd",
 66            "alt-f": "editor::MoveToNextWordEnd",
 67            "cmd-left": "editor::MoveToBeginningOfLine",
 68            "ctrl-a": "editor::MoveToBeginningOfLine",
 69            "cmd-right": "editor::MoveToEndOfLine",
 70            "ctrl-e": "editor::MoveToEndOfLine",
 71            "cmd-up": "editor::MoveToBeginning",
 72            "cmd-down": "editor::MoveToEnd",
 73            "shift-up": "editor::SelectUp",
 74            "ctrl-shift-P": "editor::SelectUp",
 75            "shift-down": "editor::SelectDown",
 76            "ctrl-shift-N": "editor::SelectDown",
 77            "shift-left": "editor::SelectLeft",
 78            "ctrl-shift-B": "editor::SelectLeft",
 79            "shift-right": "editor::SelectRight",
 80            "ctrl-shift-F": "editor::SelectRight",
 81            "alt-shift-left": "editor::SelectToPreviousWordStart",
 82            "alt-shift-B": "editor::SelectToPreviousWordStart",
 83            "alt-shift-right": "editor::SelectToNextWordEnd",
 84            "alt-shift-F": "editor::SelectToNextWordEnd",
 85            "cmd-shift-up": "editor::SelectToBeginning",
 86            "cmd-shift-down": "editor::SelectToEnd",
 87            "cmd-a": "editor::SelectAll",
 88            "cmd-l": "editor::SelectLine",
 89            "cmd-shift-left": [
 90                "editor::SelectToBeginningOfLine",
 91                {
 92                    "stop_at_soft_wraps": true
 93                }
 94            ],
 95            "ctrl-shift-A": [
 96                "editor::SelectToBeginningOfLine",
 97                {
 98                    "stop_at_soft_wraps": true
 99                }
100            ],
101            "cmd-shift-right": [
102                "editor::SelectToEndOfLine",
103                {
104                    "stop_at_soft_wraps": true
105                }
106            ],
107            "ctrl-shift-E": [
108                "editor::SelectToEndOfLine",
109                {
110                    "stop_at_soft_wraps": true
111                }
112            ],
113            "pageup": "editor::PageUp",
114            "pagedown": "editor::PageDown"
115        }
116    },
117    {
118        "context": "Editor && mode == full",
119        "bindings": {
120            "enter": "editor::Newline",
121            "cmd-f": [
122                "buffer_search::Deploy",
123                {
124                    "focus": true
125                }
126            ],
127            "cmd-e": [
128                "buffer_search::Deploy",
129                {
130                    "focus": false
131                }
132            ]
133        }
134    },
135    {
136        "context": "Editor && mode == auto_height",
137        "bindings": {
138            "alt-enter": [
139                "editor::Input",
140                "\n"
141            ]
142        }
143    },
144    {
145        "context": "Pane",
146        "bindings": {
147            "cmd-f": "project_search::ToggleFocus",
148            "cmd-g": "search::SelectNextMatch",
149            "cmd-shift-G": "search::SelectPrevMatch"
150        }
151    },
152    {
153        "context": "BufferSearchBar",
154        "bindings": {
155            "escape": "buffer_search::Dismiss",
156            "cmd-f": "buffer_search::FocusEditor",
157            "enter": "search::SelectNextMatch",
158            "shift-enter": "search::SelectPrevMatch"
159        }
160    },
161    // Bindings from VS Code
162    {
163        "context": "Editor",
164        "bindings": {
165            "cmd-[": "editor::Outdent",
166            "cmd-]": "editor::Indent",
167            "cmd-alt-up": "editor::AddSelectionAbove",
168            "cmd-ctrl-p": "editor::AddSelectionAbove",
169            "cmd-alt-down": "editor::AddSelectionBelow",
170            "cmd-ctrl-n": "editor::AddSelectionBelow",
171            "cmd-d": [
172                "editor::SelectNext",
173                {
174                    "replace_newest": false
175                }
176            ],
177            "cmd-k cmd-d": [
178                "editor::SelectNext",
179                {
180                    "replace_newest": true
181                }
182            ],
183            "cmd-/": "editor::ToggleComments",
184            "alt-up": "editor::SelectLargerSyntaxNode",
185            "alt-down": "editor::SelectSmallerSyntaxNode",
186            "cmd-u": "editor::UndoSelection",
187            "cmd-shift-U": "editor::RedoSelection",
188            "f8": "editor::GoToNextDiagnostic",
189            "shift-f8": "editor::GoToPrevDiagnostic",
190            "f2": "editor::Rename",
191            "f12": "editor::GoToDefinition",
192            "alt-shift-f12": "editor::FindAllReferences",
193            "ctrl-m": "editor::MoveToEnclosingBracket",
194            "alt-cmd-[": "editor::Fold",
195            "alt-cmd-]": "editor::UnfoldLines",
196            "ctrl-space": "editor::ShowCompletions",
197            "cmd-.": "editor::ToggleCodeActions"
198        }
199    },
200    {
201        "context": "Editor && mode == full",
202        "bindings": {
203            "cmd-shift-O": "outline::Toggle",
204            "ctrl-g": "go_to_line::Toggle"
205        }
206    },
207    {
208        "context": "Pane",
209        "bindings": {
210            "ctrl--": "pane::GoBack",
211            "shift-ctrl-_": "pane::GoForward",
212            "cmd-shift-F": "project_search::ToggleFocus"
213        }
214    },
215    {
216        "context": "Workspace",
217        "bindings": {
218            "cmd-shift-F": "project_search::Deploy",
219            "cmd-k cmd-t": "theme_selector::Toggle",
220            "cmd-k cmd-s": "zed::OpenKeymap",
221            "cmd-t": "project_symbols::Toggle",
222            "cmd-p": "file_finder::Toggle",
223            "cmd-shift-P": "command_palette::Toggle",
224            "cmd-shift-M": "diagnostics::Deploy",
225            "cmd-alt-s": "workspace::SaveAll"
226        }
227    },
228    // Bindings from Sublime Text
229    {
230        "context": "Editor",
231        "bindings": {
232            "ctrl-shift-K": "editor::DeleteLine",
233            "cmd-shift-D": "editor::DuplicateLine",
234            "cmd-shift-L": "editor::SplitSelectionIntoLines",
235            "ctrl-cmd-up": "editor::MoveLineUp",
236            "ctrl-cmd-down": "editor::MoveLineDown",
237            "ctrl-alt-backspace": "editor::DeleteToPreviousSubwordStart",
238            "ctrl-alt-h": "editor::DeleteToPreviousSubwordStart",
239            "ctrl-alt-delete": "editor::DeleteToNextSubwordEnd",
240            "ctrl-alt-d": "editor::DeleteToNextSubwordEnd",
241            "ctrl-alt-left": "editor::MoveToPreviousSubwordStart",
242            "ctrl-alt-b": "editor::MoveToPreviousSubwordStart",
243            "ctrl-alt-right": "editor::MoveToNextSubwordEnd",
244            "ctrl-alt-f": "editor::MoveToNextSubwordEnd",
245            "ctrl-alt-shift-left": "editor::SelectToPreviousSubwordStart",
246            "ctrl-alt-shift-B": "editor::SelectToPreviousSubwordStart",
247            "ctrl-alt-shift-right": "editor::SelectToNextSubwordEnd",
248            "ctrl-alt-shift-F": "editor::SelectToNextSubwordEnd"
249        }
250    },
251    {
252        "bindings": {
253            "cmd-k cmd-left": "workspace::ActivatePreviousPane",
254            "cmd-k cmd-right": "workspace::ActivateNextPane"
255        }
256    },
257    // Bindings from Atom
258    {
259        "context": "Pane",
260        "bindings": {
261            "cmd-k up": [
262                "pane::Split",
263                "Up"
264            ],
265            "cmd-k down": [
266                "pane::Split",
267                "Down"
268            ],
269            "cmd-k left": [
270                "pane::Split",
271                "Left"
272            ],
273            "cmd-k right": [
274                "pane::Split",
275                "Right"
276            ]
277        }
278    },
279    // Bindings that should be unified with bindings for more general actions
280    {
281        "context": "Editor && renaming",
282        "bindings": {
283            "enter": "editor::ConfirmRename"
284        }
285    },
286    {
287        "context": "Editor && showing_completions",
288        "bindings": {
289            "enter": "editor::ConfirmCompletion",
290            "tab": "editor::ConfirmCompletion"
291        }
292    },
293    {
294        "context": "Editor && showing_code_actions",
295        "bindings": {
296            "enter": "editor::ConfirmCodeAction"
297        }
298    },
299    // Custom bindings
300    {
301        "bindings": {
302            "ctrl-alt-cmd-f": "workspace::FollowNextCollaborator",
303            "cmd-alt-i": "zed::DebugElements"
304        }
305    },
306    {
307        "context": "Editor",
308        "bindings": {
309            "alt-enter": "editor::OpenExcerpts"
310        }
311    },
312    {
313        "context": "ProjectSearchBar",
314        "bindings": {
315            "cmd-enter": "project_search::SearchInNew"
316        }
317    },
318    {
319        "context": "Workspace",
320        "bindings": {
321            "cmd-1": [
322                "workspace::ToggleSidebarItemFocus",
323                {
324                    "side": "Left",
325                    "item_index": 0
326                }
327            ],
328            "cmd-shift-!": [
329                "workspace::ToggleSidebarItem",
330                {
331                    "side": "Left",
332                    "item_index": 0
333                }
334            ],
335            "cmd-9": [
336                "workspace::ToggleSidebarItemFocus",
337                {
338                    "side": "Right",
339                    "item_index": 0
340                }
341            ],
342            "cmd-shift-(": [
343                "workspace::ToggleSidebarItem",
344                {
345                    "side": "Right",
346                    "item_index": 0
347                }
348            ]
349        }
350    },
351    {
352        "context": "ProjectPanel",
353        "bindings": {
354            "left": "project_panel::CollapseSelectedEntry",
355            "right": "project_panel::ExpandSelectedEntry",
356            "f2": "project_panel::Rename",
357            "backspace": "project_panel::Delete"
358        }
359    }
360]