1[
2 {
3 "bindings": {
4 "ctrl-alt-s": "zed::OpenSettings",
5 "ctrl-{": "pane::ActivatePreviousItem",
6 "ctrl-}": "pane::ActivateNextItem",
7 "ctrl-f2": "debugger::Stop",
8 "f6": "debugger::Pause",
9 "f7": "debugger::StepInto",
10 "f8": "debugger::StepOver",
11 "shift-f8": "debugger::StepOut",
12 "f9": "debugger::Continue",
13 "alt-shift-f9": "debugger::Start"
14 }
15 },
16 {
17 "context": "Editor",
18 "bindings": {
19 "ctrl->": ["zed::IncreaseBufferFontSize", { "persist": true }],
20 "ctrl-<": ["zed::DecreaseBufferFontSize", { "persist": true }],
21 "ctrl-shift-j": "editor::JoinLines",
22 "ctrl-d": "editor::DuplicateSelection",
23 "ctrl-y": "editor::DeleteLine",
24 "ctrl-m": "editor::ScrollCursorCenter",
25 "ctrl-pagedown": "editor::MovePageDown",
26 "ctrl-pageup": "editor::MovePageUp",
27 // "ctrl-alt-shift-b": "editor::SelectToPreviousWordStart",
28 "ctrl-alt-enter": "editor::NewlineAbove",
29 "shift-enter": "editor::NewlineBelow",
30 // "ctrl--": "editor::Fold", // TODO: `ctrl-numpad--` (numpad not implemented)
31 // "ctrl-+": "editor::UnfoldLines", // TODO: `ctrl-numpad+` (numpad not implemented)
32 "alt-shift-g": "editor::SplitSelectionIntoLines",
33 "alt-j": ["editor::SelectNext", { "replace_newest": false }],
34 "alt-shift-j": ["editor::SelectPrevious", { "replace_newest": false }],
35 "ctrl-/": ["editor::ToggleComments", { "advance_downwards": true }],
36 "ctrl-w": "editor::SelectLargerSyntaxNode",
37 "ctrl-shift-w": "editor::SelectSmallerSyntaxNode",
38 "shift-alt-up": "editor::MoveLineUp",
39 "shift-alt-down": "editor::MoveLineDown",
40 "ctrl-alt-l": "editor::Format",
41 "ctrl-alt-o": "editor::OrganizeImports",
42 "shift-f6": "editor::Rename",
43 "ctrl-alt-left": "pane::GoBack",
44 "ctrl-alt-right": "pane::GoForward",
45 "alt-f7": "editor::FindAllReferences",
46 "ctrl-alt-f7": "editor::FindAllReferences",
47 // "ctrl-b": "editor::GoToDefinition", // Conflicts with workspace::ToggleLeftDock
48 // "ctrl-alt-b": "editor::GoToDefinitionSplit", // Conflicts with workspace::ToggleLeftDock
49 "ctrl-shift-b": "editor::GoToTypeDefinition",
50 "ctrl-alt-shift-b": "editor::GoToTypeDefinitionSplit",
51 "f2": "editor::GoToDiagnostic",
52 "shift-f2": "editor::GoToPreviousDiagnostic",
53 "ctrl-alt-shift-down": "editor::GoToHunk",
54 "ctrl-alt-shift-up": "editor::GoToPreviousHunk",
55 "ctrl-alt-z": "git::Restore",
56 "ctrl-home": "editor::MoveToBeginning",
57 "ctrl-end": "editor::MoveToEnd",
58 "ctrl-shift-home": "editor::SelectToBeginning",
59 "ctrl-shift-end": "editor::SelectToEnd",
60 "ctrl-f8": "editor::ToggleBreakpoint",
61 "ctrl-shift-f8": "editor::EditLogBreakpoint",
62 "ctrl-shift-u": "editor::ToggleCase"
63 }
64 },
65 {
66 "context": "Editor && mode == full",
67 "bindings": {
68 "ctrl-f12": "outline::Toggle",
69 "ctrl-r": ["buffer_search::Deploy", { "replace_enabled": true }],
70 "ctrl-shift-n": "file_finder::Toggle",
71 "ctrl-g": "go_to_line::Toggle",
72 "alt-enter": "editor::ToggleCodeActions"
73 }
74 },
75 {
76 "context": "BufferSearchBar",
77 "bindings": {
78 "shift-enter": "search::SelectPreviousMatch"
79 }
80 },
81 {
82 "context": "BufferSearchBar || ProjectSearchBar",
83 "bindings": {
84 "alt-c": "search::ToggleCaseSensitive",
85 "alt-e": "search::ToggleSelection",
86 "alt-x": "search::ToggleRegex",
87 "alt-w": "search::ToggleWholeWord"
88 }
89 },
90 {
91 "context": "Workspace",
92 "bindings": {
93 "ctrl-shift-f12": "workspace::CloseAllDocks",
94 "ctrl-shift-r": ["pane::DeploySearch", { "replace_enabled": true }],
95 "alt-shift-f10": "task::Spawn",
96 "ctrl-e": "file_finder::Toggle",
97 "ctrl-k": "git_panel::ToggleFocus", // bug: This should also focus commit editor
98 "ctrl-shift-n": "file_finder::Toggle",
99 "ctrl-shift-a": "command_palette::Toggle",
100 "shift shift": "command_palette::Toggle",
101 "ctrl-alt-shift-n": "project_symbols::Toggle",
102 "alt-0": "git_panel::ToggleFocus",
103 "alt-1": "workspace::ToggleLeftDock",
104 "alt-5": "debug_panel::ToggleFocus",
105 "alt-6": "diagnostics::Deploy",
106 "alt-7": "outline_panel::ToggleFocus"
107 }
108 },
109 {
110 "context": "Workspace || Editor",
111 "bindings": {
112 "alt-f12": "terminal_panel::ToggleFocus",
113 "ctrl-shift-k": "git::Push"
114 }
115 },
116 {
117 "context": "Pane",
118 "bindings": {
119 "ctrl-alt-left": "pane::GoBack",
120 "ctrl-alt-right": "pane::GoForward"
121 }
122 },
123 {
124 "context": "ProjectPanel",
125 "bindings": {
126 "enter": "project_panel::Open",
127 "ctrl-shift-f": "project_panel::NewSearchInDirectory",
128 "backspace": ["project_panel::Trash", { "skip_prompt": false }],
129 "delete": ["project_panel::Trash", { "skip_prompt": false }],
130 "shift-delete": ["project_panel::Delete", { "skip_prompt": false }],
131 "shift-f6": "project_panel::Rename"
132 }
133 },
134 {
135 "context": "Terminal",
136 "bindings": {
137 "ctrl-shift-t": "workspace::NewTerminal",
138 "alt-f12": "workspace::CloseActiveDock",
139 "alt-left": "pane::ActivatePreviousItem",
140 "alt-right": "pane::ActivateNextItem",
141 "ctrl-up": "terminal::ScrollLineUp",
142 "ctrl-down": "terminal::ScrollLineDown",
143 "shift-pageup": "terminal::ScrollPageUp",
144 "shift-pagedown": "terminal::ScrollPageDown"
145 }
146 },
147 { "context": "GitPanel", "bindings": { "alt-0": "workspace::CloseActiveDock" } },
148 { "context": "ProjectPanel", "bindings": { "alt-1": "workspace::CloseActiveDock" } },
149 { "context": "DebugPanel", "bindings": { "alt-5": "workspace::CloseActiveDock" } },
150 { "context": "Diagnostics > Editor", "bindings": { "alt-6": "pane::CloseActiveItem" } },
151 { "context": "OutlinePanel", "bindings": { "alt-7": "workspace::CloseActiveDock" } },
152 {
153 "context": "Dock || Workspace || Terminal || OutlinePanel || ProjectPanel || CollabPanel || (Editor && mode == auto_height)",
154 "bindings": { "escape": "editor::ToggleFocus" }
155 }
156]