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