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