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