-
Notifications
You must be signed in to change notification settings - Fork 0
/
keybindings.json
420 lines (406 loc) · 49.1 KB
/
keybindings.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
// spell-checker: disable
[
// copy original ^* to ^g ^*, in case they are shadowed by vim. can override below if not shadowed or not used
{ "key": "ctrl+g ctrl+space", "command": "editor.action.triggerSuggest", "when": "editorHasCompletionItemProvider && textInputFocus && !editorReadonly && !suggestWidgetVisible" },
{ "key": "ctrl+g ctrl+q", "command": "workbench.action.quickOpenView" },
{ "key": "ctrl+g ctrl+w", "command": "workbench.action.closeActiveEditor" },
{ "key": "ctrl+g ctrl+e", "command": "workbench.action.quickOpen" },
{ "key": "ctrl+g ctrl+r", "command": "workbench.action.openRecent" },
{ "key": "ctrl+g ctrl+t", "command": "workbench.action.showAllSymbols" },
{ "key": "ctrl+g ctrl+a", "command": "editor.action.selectAll" },
{ "key": "ctrl+g ctrl+s", "command": "workbench.action.files.save" },
{ "key": "ctrl+g ctrl+d", "command": "editor.action.addSelectionToNextFindMatch", "when": "editorFocus" },
{ "key": "ctrl+g ctrl+f", "command": "actions.find", "when": "editorFocus || editorIsOpen" },
{ "key": "ctrl+g ctrl+g", "command": "workbench.action.gotoLine" },
{ "key": "ctrl+g ctrl+z", "command": "undo" },
{ "key": "ctrl+g ctrl+x", "command": "editor.action.clipboardCutAction" },
{ "key": "ctrl+g ctrl+c", "command": "editor.action.clipboardCopyAction" },
{ "key": "ctrl+g ctrl+v", "command": "editor.action.clipboardPasteAction" },
{ "key": "ctrl+g ctrl+b", "command": "workbench.action.toggleSidebarVisibility" },
{ "key": "ctrl+g ctrl+y", "command": "redo" },
{ "key": "ctrl+g ctrl+u", "command": "cursorUndo", "when": "textInputFocus" },
{ "key": "ctrl+g ctrl+i", "command": "editor.action.triggerSuggest", "when": "editorHasCompletionItemProvider && textInputFocus && !editorReadonly" },
{ "key": "ctrl+g ctrl+o", "command": "workbench.action.files.openFile" },
{ "key": "ctrl+g ctrl+p", "command": "workbench.action.quickOpen" },
{ "key": "ctrl+g ctrl+[", "command": "editor.action.outdentLines", "when": "editorTextFocus && !editorReadonly" },
{ "key": "ctrl+g ctrl+]", "command": "editor.action.indentLines", "when": "editorTextFocus && !editorReadonly" },
{ "key": "ctrl+g ctrl+\\", "command": "workbench.action.splitEditor" },
{ "key": "ctrl+g ctrl+h", "command": "editor.action.startFindReplaceAction", "when": "editorFocus || editorIsOpen" },
{ "key": "ctrl+g ctrl+j", "command": "workbench.action.togglePanel" },
{ "key": "ctrl+g ctrl+k" }, // no ^k
{ "key": "ctrl+g ctrl+l", "command": "expandLineSelection", "when": "textInputFocus" },
{ "key": "ctrl+g ctrl+;" }, // no ^;
{ "key": "ctrl+g ctrl+'" }, // no ^'
{ "key": "ctrl+g ctrl+enter", "command": "editor.action.insertLineAfter", "when": "editorTextFocus && !editorReadonly" },
{ "key": "ctrl+g ctrl+n", "command": "workbench.action.files.newUntitledFile" },
{ "key": "ctrl+g ctrl+m", "command": "editor.action.toggleTabFocusMode" },
{ "key": "ctrl+g ctrl+,", "command": "workbench.action.openSettings" },
{ "key": "ctrl+g ctrl+.", "command": "editor.action.quickFix", "when": "editorHasCodeActionsProvider && textInputFocus && !editorReadonly" },
{ "key": "ctrl+g ctrl+/", "command": "editor.action.commentLine", "when": "editorTextFocus && !editorReadonly" },
// vim
{ "key": "shift+alt+down", "command": "-extension.vim_cmd+alt+down", "when": "editorTextFocus && vim.active && !inDebugRepl" },
{ "key": "shift+alt+up", "command": "-extension.vim_cmd+alt+up", "when": "editorTextFocus && vim.active && !inDebugRepl" },
{ "key": "shift+;", "command": "vim.showQuickpickCmdLine", "when": "inZenMode && vim.mode != 'Insert'" },
// code action
// { "key": "shift+space", "command": "editor.action.quickFix", "when": "editorHasCodeActionsProvider && editorTextFocus && !editorReadonly" },
// { "key": "shift+space", "command": "selectNextCodeAction", "when": "codeActionMenuVisible" },
// { "key": "ctrl+space", "command": "selectPrevCodeAction", "when": "codeActionMenuVisible" },
// go, git, group
{ "key": "ctrl+g ctrl+g", "command": "workbench.action.navigateEditorGroups", "when": "!terminalFocus" },
{ "key": "ctrl+g q", "command": "git.mergeAbort" }, // Quit merge
{ "key": "ctrl+g w", "command": "workbench.view.extension.todo" }, // Works to do
{ "key": "ctrl+g e", "command": "workbench.view.explorer" },
{ "key": "ctrl+g r", "command": "workbench.view.remote" },
{ "key": "ctrl+g t", "command": "workbench.view.extension.test" },
{ "key": "ctrl+g a", "command": "git.commitAllAmend" },
{ "key": "ctrl+g s", "command": "git.sync" },
{ "key": "ctrl+g d", "command": "workbench.view.debug" },
{ "key": "ctrl+g f", "command": "workbench.view.search" },
{ "key": "ctrl+g g", "command": "workbench.view.scm" },
{ "key": "ctrl+g shift+g", "command": "workbench.view.extension.gitlens" },
{ "key": "ctrl+g ctrl+shift+g", "command": "workbench.view.extension.gitlensInspect" },
{ "key": "ctrl+g z", "command": "workbench.action.toggleZenMode" },
{ "key": "ctrl+g x", "command": "workbench.view.extensions" },
{ "key": "ctrl+g c", "command": "git.commitAll" },
{ "key": "ctrl+g v", "command": "git.openChange" }, // View git changes
{ "key": "ctrl+g b", "command": "workbench.action.terminal.toggleTerminal" }, // toggle Bash
{ "key": "ctrl+g space", "command": "workbench.action.focusActiveEditorGroup", "when": "!editorTextFocus || focusedView == 'workbench.panel.output'" },
{ "key": "ctrl+g y" },
{ "key": "ctrl+g u", "command": "git.undoCommit" },
{ "key": "ctrl+g i" },
{ "key": "ctrl+g o", "command": "git.checkout" },
{ "key": "ctrl+g p", "command": "git.pull", "when": "!operationInProgress" },
{ "key": "ctrl+g shift+p", "command": "git.push" },
{ "key": "ctrl+g [", "command": "workbench.action.terminal.scrollToPreviousCommand", "when": "terminalFocus" },
{ "key": "ctrl+g ]", "command": "workbench.action.terminal.scrollToNextCommand", "when": "terminalFocus" },
{ "key": "ctrl+g \\", "command": "workbench.action.moveEditorToRightGroup", "when": "!terminalFocus" },
{ "key": "ctrl+g h", "command": "workbench.action.moveEditorToLeftGroup", "when": "!terminalFocus" },
{ "key": "ctrl+g j", "command": "workbench.action.moveEditorToBelowGroup", "when": "!terminalFocus" },
{ "key": "ctrl+g k", "command": "workbench.action.moveEditorToAboveGroup", "when": "!terminalFocus" },
{ "key": "ctrl+g l", "command": "workbench.action.moveEditorToRightGroup", "when": "!terminalFocus" },
{ "key": "ctrl+g shift+h", "command": "workbench.action.moveActiveEditorGroupLeft", "when": "!terminalFocus" },
{ "key": "ctrl+g shift+j", "command": "workbench.action.moveActiveEditorGroupDown", "when": "!terminalFocus" },
{ "key": "ctrl+g shift+k", "command": "workbench.action.moveActiveEditorGroupUp", "when": "!terminalFocus" },
{ "key": "ctrl+g shift+l", "command": "workbench.action.moveActiveEditorGroupRight", "when": "!terminalFocus" },
{ "key": "ctrl+g ;", "command": "workbench.action.evenEditorWidths" },
{ "key": "ctrl+g '", "command": "workbench.action.toggleEditorWidths" },
{ "key": "ctrl+g enter", "command": "workbench.action.toggleMaximizeEditorGroup", "when": "editorPartMaximizedEditorGroup || editorPartMultipleEditorGroups" },
{ "key": "ctrl+g enter", "command": "workbench.action.toggleMaximizedPanel", "when": "panelFocus" },
{ "key": "ctrl+g n", "command": "workbench.action.moveEditorToBelowGroup", "when": "!terminalFocus" },
{ "key": "ctrl+g m", "command": "workbench.action.joinAllGroups" }, // Merge groups
{ "key": "ctrl+g ,", "command": "workbench.action.openSettingsJson" },
{ "key": "ctrl+g .", "command": "workbench.action.openGlobalKeybindingsFile" },
{ "key": "ctrl+g /", "command": "workbench.action.openSnippets" },
{ "key": "ctrl+g backspace", "command": "workbench.action.reloadWindow" },
// terminal group
{ "key": "ctrl+g ctrl+g", "command": "workbench.action.terminal.focusNextPane", "when": "terminalFocus && terminalHasBeenCreated || terminalFocus && terminalProcessSupported" },
{ "key": "ctrl+g \\", "command": "workbench.action.terminal.split", "when": "terminalFocus && terminalProcessSupported" },
{ "key": "ctrl+g h", "command": "workbench.action.terminal.focusPreviousPane", "when": "terminalFocus && terminalHasBeenCreated || terminalFocus && terminalProcessSupported" },
{ "key": "ctrl+g j", "command": "workbench.action.terminal.focusNext", "when": "terminalFocus && terminalHasBeenCreated && !terminalEditorFocus || terminalFocus && terminalProcessSupported && !terminalEditorFocus" },
{ "key": "ctrl+g k", "command": "workbench.action.terminal.focusPrevious", "when": "terminalFocus && terminalHasBeenCreated && !terminalEditorFocus || terminalFocus && terminalProcessSupported && !terminalEditorFocus" },
{ "key": "ctrl+g l", "command": "workbench.action.terminal.focusNextPane", "when": "terminalFocus && terminalHasBeenCreated || terminalFocus && terminalProcessSupported" },
{ "key": "ctrl+g n", "command": "workbench.action.terminal.new", "when": "terminalFocus && (terminalProcessSupported || terminalWebExtensionContributedProfile)" },
{ "key": "ctrl+w", "command": "workbench.action.terminal.kill", "when": "terminalFocus && terminalHasBeenCreated || terminalFocus && terminalProcessSupported" },
// zoom group
{ "key": "ctrl+g 0", "command": "editor.action.fontZoomReset" },
{ "key": "ctrl+g -", "command": "editor.action.fontZoomOut" },
{ "key": "ctrl+g =", "command": "editor.action.fontZoomIn" },
{ "key": "ctrl+0", "command": "workbench.action.zoomReset" },
// python
// { "key": "ctrl+space d", "command": "extension.print", "when": "editorTextFocus && editorHasSelection && editorLangId == python" },
// { "key": "ctrl+shift+l", "command": "-extension.print", "when": "editorTextFocus" },
// { "key": "ctrl+alt+m", "command": "python.refactorExtractMethod", "when": "editorTextFocus && editorLangId == python" },
// { "key": "ctrl+alt+v", "command": "python.refactorextractvariable", "when": "editortextfocus && editorlangid == python" },
// ctrl+space for escape everywhere
{ "key": "ctrl+space", "command": "list.clear", "when": "listFocus && listHasSelectionOrFocus && !inputFocus && !treestickyScrollFocused && !inQuickOpen" }, // added && !inQuickOpen"
{ "key": "ctrl+space", "command": "closeReferenceSearch", "when": "inReferenceSearchEditor && !config.editor.stablePeek" },
{ "key": "ctrl+space", "command": "editor.closeTestPeek", "when": "testing.isInPeek && !config.editor.stablePeek || testing.isPeekVisible && !config.editor.stablePeek" },
{ "key": "ctrl+space", "command": "editor.closeTestPeek", "when": "testing.isInPeek && !config.editor.stablePeek || testing.isPeekVisible && !config.editor.stablePeek" },
{ "key": "ctrl+space", "command": "cancelSelection", "when": "editorHasSelection && textInputFocus" },
{ "key": "ctrl+space", "command": "removeSecondaryCursors", "when": "editorHasMultipleSelections && textInputFocus" },
{ "key": "ctrl+space", "command": "notebook.cell.chat.acceptChanges", "when": "inlineChatFocused && notebookCellChatFocused && notebookChatUserDidEdit && !notebookCellEditorFocused" },
{ "key": "ctrl+space", "command": "notebook.cell.quitEdit", "when": "inputFocus && notebookEditorFocused && !editorHasMultipleSelections && !editorHasSelection && !editorHoverVisible && !inlineChatFocused" },
{ "key": "ctrl+space", "command": "inlineChat.discard", "when": "inlineChatHasProvider && inlineChatVisible && !inlineChatUserDidEdit" },
{ "key": "ctrl+space", "command": "closeBreakpointWidget", "when": "breakpointWidgetVisible && textInputFocus" },
{ "key": "ctrl+space", "command": "editor.action.cancelSelectionAnchor", "when": "editorTextFocus && selectionAnchorSet" },
{ "key": "ctrl+space", "command": "editor.action.hideColorPicker", "when": "standaloneColorPickerVisible" },
{ "key": "ctrl+space", "command": "editor.action.inlineEdit.reject", "when": "inlineEditVisible && !editorReadonly" },
{ "key": "ctrl+space", "command": "editor.action.inlineEdits.hide", "when": "inlineEditsVisible" },
{ "key": "ctrl+space", "command": "editor.action.inlineSuggest.hide", "when": "inlineSuggestionVisible" },
{ "key": "ctrl+space", "command": "editor.action.selectEditor", "when": "stickyScrollFocused" },
{ "key": "ctrl+space", "command": "editor.action.webvieweditor.hideFind", "when": "webviewFindWidgetVisible && !editorFocus && activeEditor == 'WebviewEditor'" },
{ "key": "ctrl+space", "command": "editor.cancelOperation", "when": "cancellableOperation" },
{ "key": "ctrl+space", "command": "editor.debug.action.closeExceptionWidget", "when": "exceptionWidgetVisible" },
{ "key": "ctrl+space", "command": "editor.gotoNextSymbolFromResult.cancel", "when": "hasSymbols" },
{ "key": "ctrl+space", "command": "editor.hideDropWidget", "when": "dropWidgetVisible" },
{ "key": "ctrl+space", "command": "editor.hidePasteWidget", "when": "pasteWidgetVisible" },
{ "key": "ctrl+space", "command": "inlayHints.stopReadingLineWithHint", "when": "isReadingLineWithInlayHints" },
{ "key": "ctrl+space", "command": "notebook.cell.chat.discard", "when": "inlineChatFocused && notebookCellChatFocused && !notebookCellEditorFocused && !notebookChatUserDidEdit" },
{ "key": "ctrl+space", "command": "search.action.focusQueryEditorWidget", "when": "inSearchEditor" },
{ "key": "ctrl+space", "command": "settings.action.clearSearchResults", "when": "inSettingsEditor && inSettingsSearch" },
{ "key": "ctrl+space", "command": "welcome.goBack", "when": "inWelcome && activeEditor == 'gettingStartedPage'" },
{ "key": "ctrl+space", "command": "workbench.action.hideComment", "when": "commentEditorFocused" },
{ "key": "ctrl+space", "command": "closeFindWidget", "when": "editorFocus && findWidgetVisible && !isComposing" },
{ "key": "ctrl+space", "command": "leaveEditorMessage", "when": "messageVisible" },
{ "key": "ctrl+space", "command": "leaveSnippet", "when": "inSnippetMode && textInputFocus" },
{ "key": "ctrl+space", "command": "closeDirtyDiff", "when": "dirtyDiffVisible" },
{ "key": "ctrl+space", "command": "closeMarkersNavigation", "when": "editorFocus && markersNavigationVisible" },
{ "key": "ctrl+space", "command": "notifications.hideToasts", "when": "notificationToastsVisible" },
{ "key": "ctrl+space", "command": "closeParameterHints", "when": "editorFocus && parameterHintsVisible" },
{ "key": "ctrl+space", "command": "hideSuggestWidget", "when": "suggestWidgetVisible && textInputFocus" },
{ "key": "ctrl+space", "command": "cancelLinkedEditingInput", "when": "LinkedEditingInputVisible && editorTextFocus" },
{ "key": "ctrl+space", "command": "cancelRenameInput", "when": "editorFocus && renameInputVisible" },
{ "key": "ctrl+space", "command": "closeReplaceInFilesWidget", "when": "replaceInputBoxFocus && searchViewletVisible" },
{ "key": "ctrl+space", "command": "commentsClearFilterText", "when": "commentsFilterFocus" },
{ "key": "ctrl+space", "command": "inlineChat.close", "when": "inlineChatHasProvider && inlineChatVisible" },
{ "key": "ctrl+space", "command": "inlineChat.discardHunkChange", "when": "inlineChatHasProvider && inlineChatVisible && inlineChatResponseType == 'messagesAndEdits'" },
{ "key": "ctrl+space", "command": "keybindings.editor.clearSearchResults", "when": "inKeybindings && inKeybindingsSearch" },
{ "key": "ctrl+space", "command": "keybindings.editor.rejectWhenExpression", "when": "inKeybindings && whenFocus && !suggestWidgetVisible" },
{ "key": "ctrl+space", "command": "list.closeFind", "when": "listFocus && treeFindOpen" },
{ "key": "ctrl+space", "command": "noteMultiCursor.exit", "when": "config.notebook.multiSelect.enabled && isNotebookMultiSelect && activeEditor == 'workbench.editor.notebook'" },
{ "key": "ctrl+space", "command": "notebook.hideFind", "when": "notebookEditorFocused && notebookFindWidgetFocused" },
{ "key": "ctrl+space", "command": "problems.action.clearFilterText", "when": "problemsFilterFocus" },
{ "key": "ctrl+space", "command": "scm.clearInput", "when": "scmRepository && !suggestWidgetVisible" },
{ "key": "ctrl+space", "command": "search.action.cancel", "when": "listFocus && searchViewletVisible && !inputFocus && !treestickyScrollFocused && searchState != '0'" },
{ "key": "ctrl+space", "command": "settings.action.focusLevelUp", "when": "inSettingsEditor && !inSettingsJSONEditor && !inSettingsSearch" },
{ "key": "ctrl+space", "command": "workbench.action.terminal.chat.close", "when": "terminalChatFocus && terminalChatVisible" },
{ "key": "ctrl+space", "command": "workbench.action.terminal.clearSelection", "when": "terminalFocusInAny && terminalHasBeenCreated && terminalTextSelected && !terminalFindVisible || terminalFocusInAny && terminalProcessSupported && terminalTextSelected && !terminalFindVisible" },
{ "key": "ctrl+space", "command": "workbench.action.terminal.hideFind", "when": "terminalFindVisible && terminalFocusInAny && terminalHasBeenCreated || terminalFindVisible && terminalFocusInAny && terminalProcessSupported" },
{ "key": "ctrl+space", "command": "workbench.banner.focusBanner", "when": "bannerFocused" },
{ "key": "ctrl+space", "command": "workbench.statusBar.clearFocus", "when": "statusBarFocused" },
{ "key": "ctrl+space", "command": "breadcrumbs.selectEditor", "when": "breadcrumbsActive && breadcrumbsVisible" },
{ "key": "ctrl+space", "command": "workbench.action.terminal.hideSuggestWidget", "when": "terminalFocus && terminalHasBeenCreated && terminalIsOpen && terminalSuggestWidgetVisible || terminalFocus && terminalIsOpen && terminalProcessSupported && terminalSuggestWidgetVisible" },
{ "key": "ctrl+space", "command": "notebook.cell.quitEdit", "when": "notebookEditorFocused && notebookOutputFocused" },
{ "key": "ctrl+space", "command": "editor.closeCallHierarchy", "when": "callHierarchyVisible && !config.editor.stablePeek" },
{ "key": "ctrl+space", "command": "editor.closeTypeHierarchy", "when": "typeHierarchyVisible && !config.editor.stablePeek" },
{ "key": "ctrl+space", "command": "filesExplorer.cancelCut", "when": "explorerResourceCut && filesExplorerFocus && foldersViewVisible && !inputFocus" },
{ "key": "ctrl+space", "command": "closeReferenceSearch", "when": "editorTextFocus && referenceSearchVisible && !config.editor.stablePeek || referenceSearchVisible && !config.editor.stablePeek && !inputFocus" },
{ "key": "ctrl+space", "command": "notifications.hideList", "when": "notificationCenterVisible" },
{ "key": "ctrl+space", "command": "notifications.hideToasts", "when": "notificationFocus && notificationToastsVisible" },
{ "key": "ctrl+space", "command": "workbench.action.chat.stopListening", "when": "voiceChatInProgress && scopedVoiceChatInProgress == 'editor' || voiceChatInProgress && scopedVoiceChatInProgress == 'inline' || voiceChatInProgress && scopedVoiceChatInProgress == 'quick' || voiceChatInProgress && scopedVoiceChatInProgress == 'terminal' || voiceChatInProgress && scopedVoiceChatInProgress == 'view'" },
{ "key": "ctrl+space", "command": "workbench.action.chat.stopReadChatItemAloud", "when": "scopedChatSynthesisInProgress" },
{ "key": "ctrl+space", "command": "workbench.action.editorDictation.stop", "when": "editorDictation.inProgress" },
{ "key": "ctrl+space", "command": "workbench.action.speech.stopReadAloud", "when": "scopedChatSynthesisInProgress && textToSpeechInProgress" },
{ "key": "ctrl+space", "command": "notebook.cell.quitEdit", "when": "inputFocus && notebookEditorFocused && vim.active && !editorHasSelection && !editorHoverVisible && vim.mode == 'Normal'" },
{ "key": "ctrl+space", "command": "gitlens.key.escape", "when": "editorTextFocus && gitlens:key:escape && !codeActionMenuVisible && !findWidgetVisible && !isInEmbeddedEditor && !parameterHintsVisible && !quickFixWidgetVisible && !referenceSearchVisible && !renameInputVisible && !suggestWidgetVisible" },
{ "key": "ctrl+space", "command": "hideCodeActionWidget", "when": "codeActionMenuVisible" },
{ "key": "ctrl+space", "command": "diffEditor.exitCompareMove", "when": "comparingMovedCode" },
{ "key": "ctrl+space", "command": "extension.vim_escape", "when": "editorTextFocus && vim.active && !inDebugRepl" },
// ctrl+shift+space == shift+escape everywhere
{ "key": "ctrl+shift+space", "command": "workbench.action.terminal.hideFind", "when": "terminalFindVisible && terminalFocus && terminalProcessSupported" },
{ "key": "ctrl+shift+space", "command": "leaveSnippet", "when": "editorTextFocus && inSnippetMode" },
{ "key": "ctrl+shift+space", "command": "cancelLinkedEditingInput", "when": "LinkedEditingInputVisible && editorTextFocus" },
{ "key": "ctrl+shift+space", "command": "cancelRenameInput", "when": "editorFocus && renameInputVisible" },
{ "key": "ctrl+shift+space", "command": "cancelSelection", "when": "editrHasSelection && textInputFocus" },
{ "key": "ctrl+shift+space", "command": "closeAccessibilityHelp", "when": "accessibilityHelpWidgetVisible && editorFocus" },
{ "key": "ctrl+shift+space", "command": "closeBreakpointWidget", "when": "breakpointWidgetVisible && textInputFocus" },
{ "key": "ctrl+shift+space", "command": "closeDirtyDiff", "when": "dirtyDiffVisible" },
{ "key": "ctrl+shift+space", "command": "closeFindWidget", "when": "editorFocus && findWidgetVisible && !isComposing" },
{ "key": "ctrl+shift+space", "command": "closeMarkersNavigation", "when": "editorFocus && markersNavigationVisible" },
{ "key": "ctrl+shift+space", "command": "closeParameterHints", "when": "editorFocus && parameterHintsVisible" },
{ "key": "ctrl+shift+space", "command": "closeReferenceSearch", "when": "inReferenceSearchEditor && !config.editor.stablePeek" },
{ "key": "ctrl+shift+space", "command": "closeReferenceSearch", "when": "referenceSearchVisible && !config.editor.stablePeek" },
{ "key": "ctrl+shift+space", "command": "hideSuggestWidget", "when": "suggestWidgetVisible && textInputFocus" },
{ "key": "ctrl+shift+space", "command": "removeSecondaryCursors", "when": "editorHasMultipleSelections && textInputFocus" },
{ "key": "ctrl+shift+space", "command": "workbench.action.hideComment", "when": "commentEditorFocused" },
// ctrl+q for escape everywhere
{ "key": "ctrl+q", "command": "-workbench.action.quickOpenView" }, // remove default behavior
{ "key": "ctrl+q", "command": "list.clear", "when": "listFocus && listHasSelectionOrFocus && !inputFocus && !treestickyScrollFocused && !inQuickOpen" }, // added && !inQuickOpen"
{ "key": "ctrl+q", "command": "closeReferenceSearch", "when": "inReferenceSearchEditor && !config.editor.stablePeek" },
{ "key": "ctrl+q", "command": "editor.closeTestPeek", "when": "testing.isInPeek && !config.editor.stablePeek || testing.isPeekVisible && !config.editor.stablePeek" },
{ "key": "ctrl+q", "command": "editor.closeTestPeek", "when": "testing.isInPeek && !config.editor.stablePeek || testing.isPeekVisible && !config.editor.stablePeek" },
{ "key": "ctrl+q", "command": "cancelSelection", "when": "editorHasSelection && textInputFocus" },
{ "key": "ctrl+q", "command": "removeSecondaryCursors", "when": "editorHasMultipleSelections && textInputFocus" },
{ "key": "ctrl+q", "command": "notebook.cell.chat.acceptChanges", "when": "inlineChatFocused && notebookCellChatFocused && notebookChatUserDidEdit && !notebookCellEditorFocused" },
{ "key": "ctrl+q", "command": "notebook.cell.quitEdit", "when": "inputFocus && notebookEditorFocused && !editorHasMultipleSelections && !editorHasSelection && !editorHoverVisible && !inlineChatFocused" },
{ "key": "ctrl+q", "command": "inlineChat.discard", "when": "inlineChatHasProvider && inlineChatVisible && !inlineChatUserDidEdit" },
{ "key": "ctrl+q", "command": "closeBreakpointWidget", "when": "breakpointWidgetVisible && textInputFocus" },
{ "key": "ctrl+q", "command": "editor.action.cancelSelectionAnchor", "when": "editorTextFocus && selectionAnchorSet" },
{ "key": "ctrl+q", "command": "editor.action.hideColorPicker", "when": "standaloneColorPickerVisible" },
{ "key": "ctrl+q", "command": "editor.action.inlineEdit.reject", "when": "inlineEditVisible && !editorReadonly" },
{ "key": "ctrl+q", "command": "editor.action.inlineEdits.hide", "when": "inlineEditsVisible" },
{ "key": "ctrl+q", "command": "editor.action.inlineSuggest.hide", "when": "inlineSuggestionVisible" },
{ "key": "ctrl+q", "command": "editor.action.selectEditor", "when": "stickyScrollFocused" },
{ "key": "ctrl+q", "command": "editor.action.webvieweditor.hideFind", "when": "webviewFindWidgetVisible && !editorFocus && activeEditor == 'WebviewEditor'" },
{ "key": "ctrl+q", "command": "editor.cancelOperation", "when": "cancellableOperation" },
{ "key": "ctrl+q", "command": "editor.debug.action.closeExceptionWidget", "when": "exceptionWidgetVisible" },
{ "key": "ctrl+q", "command": "editor.gotoNextSymbolFromResult.cancel", "when": "hasSymbols" },
{ "key": "ctrl+q", "command": "editor.hideDropWidget", "when": "dropWidgetVisible" },
{ "key": "ctrl+q", "command": "editor.hidePasteWidget", "when": "pasteWidgetVisible" },
{ "key": "ctrl+q", "command": "inlayHints.stopReadingLineWithHint", "when": "isReadingLineWithInlayHints" },
{ "key": "ctrl+q", "command": "notebook.cell.chat.discard", "when": "inlineChatFocused && notebookCellChatFocused && !notebookCellEditorFocused && !notebookChatUserDidEdit" },
{ "key": "ctrl+q", "command": "search.action.focusQueryEditorWidget", "when": "inSearchEditor" },
{ "key": "ctrl+q", "command": "settings.action.clearSearchResults", "when": "inSettingsEditor && inSettingsSearch" },
{ "key": "ctrl+q", "command": "welcome.goBack", "when": "inWelcome && activeEditor == 'gettingStartedPage'" },
{ "key": "ctrl+q", "command": "workbench.action.hideComment", "when": "commentEditorFocused" },
{ "key": "ctrl+q", "command": "closeFindWidget", "when": "editorFocus && findWidgetVisible && !isComposing" },
{ "key": "ctrl+q", "command": "leaveEditorMessage", "when": "messageVisible" },
{ "key": "ctrl+q", "command": "leaveSnippet", "when": "inSnippetMode && textInputFocus" },
{ "key": "ctrl+q", "command": "closeDirtyDiff", "when": "dirtyDiffVisible" },
{ "key": "ctrl+q", "command": "closeMarkersNavigation", "when": "editorFocus && markersNavigationVisible" },
{ "key": "ctrl+q", "command": "notifications.hideToasts", "when": "notificationToastsVisible" },
{ "key": "ctrl+q", "command": "closeParameterHints", "when": "editorFocus && parameterHintsVisible" },
{ "key": "ctrl+q", "command": "hideSuggestWidget", "when": "suggestWidgetVisible && textInputFocus" },
{ "key": "ctrl+q", "command": "cancelLinkedEditingInput", "when": "LinkedEditingInputVisible && editorTextFocus" },
{ "key": "ctrl+q", "command": "cancelRenameInput", "when": "editorFocus && renameInputVisible" },
{ "key": "ctrl+q", "command": "closeReplaceInFilesWidget", "when": "replaceInputBoxFocus && searchViewletVisible" },
{ "key": "ctrl+q", "command": "commentsClearFilterText", "when": "commentsFilterFocus" },
{ "key": "ctrl+q", "command": "inlineChat.close", "when": "inlineChatHasProvider && inlineChatVisible" },
{ "key": "ctrl+q", "command": "inlineChat.discardHunkChange", "when": "inlineChatHasProvider && inlineChatVisible && inlineChatResponseType == 'messagesAndEdits'" },
{ "key": "ctrl+q", "command": "keybindings.editor.clearSearchResults", "when": "inKeybindings && inKeybindingsSearch" },
{ "key": "ctrl+q", "command": "keybindings.editor.rejectWhenExpression", "when": "inKeybindings && whenFocus && !suggestWidgetVisible" },
{ "key": "ctrl+q", "command": "list.closeFind", "when": "listFocus && treeFindOpen" },
{ "key": "ctrl+q", "command": "noteMultiCursor.exit", "when": "config.notebook.multiSelect.enabled && isNotebookMultiSelect && activeEditor == 'workbench.editor.notebook'" },
{ "key": "ctrl+q", "command": "notebook.hideFind", "when": "notebookEditorFocused && notebookFindWidgetFocused" },
{ "key": "ctrl+q", "command": "problems.action.clearFilterText", "when": "problemsFilterFocus" },
{ "key": "ctrl+q", "command": "scm.clearInput", "when": "scmRepository && !suggestWidgetVisible" },
{ "key": "ctrl+q", "command": "search.action.cancel", "when": "listFocus && searchViewletVisible && !inputFocus && !treestickyScrollFocused && searchState != '0'" },
{ "key": "ctrl+q", "command": "settings.action.focusLevelUp", "when": "inSettingsEditor && !inSettingsJSONEditor && !inSettingsSearch" },
{ "key": "ctrl+q", "command": "workbench.action.terminal.chat.close", "when": "terminalChatFocus && terminalChatVisible" },
{ "key": "ctrl+q", "command": "workbench.action.terminal.clearSelection", "when": "terminalFocusInAny && terminalHasBeenCreated && terminalTextSelected && !terminalFindVisible || terminalFocusInAny && terminalProcessSupported && terminalTextSelected && !terminalFindVisible" },
{ "key": "ctrl+q", "command": "workbench.action.terminal.hideFind", "when": "terminalFindVisible && terminalFocusInAny && terminalHasBeenCreated || terminalFindVisible && terminalFocusInAny && terminalProcessSupported" },
{ "key": "ctrl+q", "command": "workbench.banner.focusBanner", "when": "bannerFocused" },
{ "key": "ctrl+q", "command": "workbench.statusBar.clearFocus", "when": "statusBarFocused" },
{ "key": "ctrl+q", "command": "breadcrumbs.selectEditor", "when": "breadcrumbsActive && breadcrumbsVisible" },
{ "key": "ctrl+q", "command": "workbench.action.terminal.hideSuggestWidget", "when": "terminalFocus && terminalHasBeenCreated && terminalIsOpen && terminalSuggestWidgetVisible || terminalFocus && terminalIsOpen && terminalProcessSupported && terminalSuggestWidgetVisible" },
{ "key": "ctrl+q", "command": "notebook.cell.quitEdit", "when": "notebookEditorFocused && notebookOutputFocused" },
{ "key": "ctrl+q", "command": "editor.closeCallHierarchy", "when": "callHierarchyVisible && !config.editor.stablePeek" },
{ "key": "ctrl+q", "command": "editor.closeTypeHierarchy", "when": "typeHierarchyVisible && !config.editor.stablePeek" },
{ "key": "ctrl+q", "command": "filesExplorer.cancelCut", "when": "explorerResourceCut && filesExplorerFocus && foldersViewVisible && !inputFocus" },
{ "key": "ctrl+q", "command": "closeReferenceSearch", "when": "editorTextFocus && referenceSearchVisible && !config.editor.stablePeek || referenceSearchVisible && !config.editor.stablePeek && !inputFocus" },
{ "key": "ctrl+q", "command": "notifications.hideList", "when": "notificationCenterVisible" },
{ "key": "ctrl+q", "command": "notifications.hideToasts", "when": "notificationFocus && notificationToastsVisible" },
{ "key": "ctrl+q", "command": "workbench.action.chat.stopListening", "when": "voiceChatInProgress && scopedVoiceChatInProgress == 'editor' || voiceChatInProgress && scopedVoiceChatInProgress == 'inline' || voiceChatInProgress && scopedVoiceChatInProgress == 'quick' || voiceChatInProgress && scopedVoiceChatInProgress == 'terminal' || voiceChatInProgress && scopedVoiceChatInProgress == 'view'" },
{ "key": "ctrl+q", "command": "workbench.action.chat.stopReadChatItemAloud", "when": "scopedChatSynthesisInProgress" },
{ "key": "ctrl+q", "command": "workbench.action.editorDictation.stop", "when": "editorDictation.inProgress" },
{ "key": "ctrl+q", "command": "workbench.action.speech.stopReadAloud", "when": "scopedChatSynthesisInProgress && textToSpeechInProgress" },
{ "key": "ctrl+q", "command": "notebook.cell.quitEdit", "when": "inputFocus && notebookEditorFocused && vim.active && !editorHasSelection && !editorHoverVisible && vim.mode == 'Normal'" },
{ "key": "ctrl+q", "command": "gitlens.key.escape", "when": "editorTextFocus && gitlens:key:escape && !codeActionMenuVisible && !findWidgetVisible && !isInEmbeddedEditor && !parameterHintsVisible && !quickFixWidgetVisible && !referenceSearchVisible && !renameInputVisible && !suggestWidgetVisible" },
{ "key": "ctrl+q", "command": "hideCodeActionWidget", "when": "codeActionMenuVisible" },
{ "key": "ctrl+q", "command": "diffEditor.exitCompareMove", "when": "comparingMovedCode" },
{ "key": "ctrl+q", "command": "extension.vim_escape", "when": "editorTextFocus && vim.active && !inDebugRepl" },
// ctrl+shift+q == shift+escape everywhere
{ "key": "ctrl+shift+q", "command": "workbench.action.terminal.hideFind", "when": "terminalFindVisible && terminalFocus && terminalProcessSupported" },
{ "key": "ctrl+shift+q", "command": "leaveSnippet", "when": "editorTextFocus && inSnippetMode" },
{ "key": "ctrl+shift+q", "command": "cancelLinkedEditingInput", "when": "LinkedEditingInputVisible && editorTextFocus" },
{ "key": "ctrl+shift+q", "command": "cancelRenameInput", "when": "editorFocus && renameInputVisible" },
{ "key": "ctrl+shift+q", "command": "cancelSelection", "when": "editrHasSelection && textInputFocus" },
{ "key": "ctrl+shift+q", "command": "closeAccessibilityHelp", "when": "accessibilityHelpWidgetVisible && editorFocus" },
{ "key": "ctrl+shift+q", "command": "closeBreakpointWidget", "when": "breakpointWidgetVisible && textInputFocus" },
{ "key": "ctrl+shift+q", "command": "closeDirtyDiff", "when": "dirtyDiffVisible" },
{ "key": "ctrl+shift+q", "command": "closeFindWidget", "when": "editorFocus && findWidgetVisible && !isComposing" },
{ "key": "ctrl+shift+q", "command": "closeMarkersNavigation", "when": "editorFocus && markersNavigationVisible" },
{ "key": "ctrl+shift+q", "command": "closeParameterHints", "when": "editorFocus && parameterHintsVisible" },
{ "key": "ctrl+shift+q", "command": "closeReferenceSearch", "when": "inReferenceSearchEditor && !config.editor.stablePeek" },
{ "key": "ctrl+shift+q", "command": "closeReferenceSearch", "when": "referenceSearchVisible && !config.editor.stablePeek" },
{ "key": "ctrl+shift+q", "command": "hideSuggestWidget", "when": "suggestWidgetVisible && textInputFocus" },
{ "key": "ctrl+shift+q", "command": "removeSecondaryCursors", "when": "editorHasMultipleSelections && textInputFocus" },
{ "key": "ctrl+shift+q", "command": "workbench.action.hideComment", "when": "commentEditorFocused" },
/* ctrl+b ctrl+p == up, ctrl+f ctrl+n == down, everywhere except for text input and vim */
{ "key": "ctrl+b", "command": "notebook.focusPreviousEditor", "when": "config.notebook.navigation.allowNavigateToSurroundingCells && editorTextFocus && inputFocus && notebookEditorFocused && !accessibilityModeEnabled && !isEmbeddedDiffEditor && notebookEditorCursorAtBoundary != 'bottom' && notebookEditorCursorAtBoundary != 'none'" },
{ "key": "ctrl+b", "command": "notebook.focusPreviousEditor", "when": "config.notebook.navigation.allowNavigateToSurroundingCells && notebookCursorNavigationMode && notebookEditorFocused && !accessibilityModeEnabled && !isEmbeddedDiffEditor && !notebookCellMarkdownEditMode && notebookCellType == 'markup'" },
{ "key": "ctrl+b", "command": "editor.action.scrollUpHover", "when": "editorHoverFocused" },
{ "key": "ctrl+b", "command": "workbench.action.terminal.chat.previousFromHistory", "when": "terminalChatFocus" },
// { "key": "ctrl+b", "command": "cursorUp", "when": "textInputFocus" },
{ "key": "ctrl+b", "command": "editor.action.selectPreviousStickyScrollLine", "when": "stickyScrollFocused" },
// { "key": "ctrl+b", "command": "extension.vim_up", "when": "editorTextFocus && vim.active && !inDebugRepl && !parameterHintsVisible && !suggestWidgetVisible" },
{ "key": "ctrl+b", "command": "focusPreviousRenameSuggestion", "when": "renameInputVisible" },
{ "key": "ctrl+b", "command": "history.showPrevious", "when": "historyNavigationBackwardsEnabled && historyNavigationWidgetFocus && !isComposing && !suggestWidgetVisible" },
{ "key": "ctrl+b", "command": "iconSelectBox.focusUp", "when": "iconSelectBoxFocus" },
{ "key": "ctrl+b", "command": "interactive.history.previous", "when": "!suggestWidgetVisible && activeEditor == 'workbench.editor.interactive' && interactiveInputCursorAtBoundary != 'bottom' && interactiveInputCursorAtBoundary != 'none'" },
{ "key": "ctrl+b", "command": "interactive.history.previous", "when": "!suggestWidgetVisible && activeEditor == 'workbench.editor.repl' && interactiveInputCursorAtBoundary != 'bottom' && interactiveInputCursorAtBoundary != 'none'" },
{ "key": "ctrl+b", "command": "list.focusUp", "when": "listFocus && !inputFocus && !treestickyScrollFocused" },
{ "key": "ctrl+b", "command": "notebook.cell.chat.previousFromHistory", "when": "inlineChatFocused && notebookCellChatFocused" },
{ "key": "ctrl+f", "command": "notebook.cell.nullAction", "when": "notebookOutputInputFocused" },
{ "key": "ctrl+b", "command": "notifications.focusPreviousToast", "when": "notificationFocus && notificationToastsVisible" },
{ "key": "ctrl+b", "command": "quickInput.previous", "when": "inQuickInput && quickInputType == 'quickPick'" },
{ "key": "ctrl+b", "command": "scm.viewPreviousCommit", "when": "scmInputIsInFirstPosition && scmRepository && !suggestWidgetVisible" },
{ "key": "ctrl+b", "command": "selectPrevCodeAction", "when": "codeActionMenuVisible" },
{ "key": "ctrl+b", "command": "selectPrevSuggestion", "when": "suggestWidgetMultipleSuggestions && suggestWidgetVisible && textInputFocus || suggestWidgetVisible && textInputFocus && !suggestWidgetHasFocusedSuggestion" },
{ "key": "ctrl+b", "command": "showPrevParameterHint", "when": "editorFocus && parameterHintsMultipleSignatures && parameterHintsVisible" },
{ "key": "ctrl+b", "command": "workbench.action.interactivePlayground.arrowUp", "when": "interactivePlaygroundFocus && !editorTextFocus" },
{ "key": "ctrl+b", "command": "workbench.action.terminal.selectPrevSuggestion", "when": "terminalFocus && terminalHasBeenCreated && terminalIsOpen && terminalSuggestWidgetVisible || terminalFocus && terminalIsOpen && terminalProcessSupported && terminalSuggestWidgetVisible" },
{ "key": "ctrl+b", "command": "workbench.banner.focusPreviousAction", "when": "bannerFocused" },
{ "key": "ctrl+b", "command": "workbench.statusBar.focusPrevious", "when": "statusBarFocused" },
{ "key": "ctrl+p", "command": "notebook.focusPreviousEditor", "when": "config.notebook.navigation.allowNavigateToSurroundingCells && notebookCursorNavigationMode && notebookEditorFocused && !accessibilityModeEnabled && !isEmbeddedDiffEditor && !notebookCellMarkdownEditMode && notebookCellType == 'markup'" },
{ "key": "ctrl+p", "command": "notebook.focusPreviousEditor", "when": "config.notebook.navigation.allowNavigateToSurroundingCells && editorTextFocus && inputFocus && notebookEditorFocused && !accessibilityModeEnabled && !isEmbeddedDiffEditor && notebookEditorCursorAtBoundary != 'bottom' && notebookEditorCursorAtBoundary != 'none'" },
{ "key": "ctrl+p", "command": "editor.action.scrollUpHover", "when": "editorHoverFocused" },
{ "key": "ctrl+p", "command": "workbench.action.terminal.chat.previousFromHistory", "when": "terminalChatFocus" },
// { "key": "ctrl+p", "command": "cursorUp", "when": "textInputFocus" },
{ "key": "ctrl+p", "command": "editor.action.selectPreviousStickyScrollLine", "when": "stickyScrollFocused" },
// { "key": "ctrl+p", "command": "extension.vim_up", "when": "editorTextFocus && vim.active && !inDebugRepl && !parameterHintsVisible && !suggestWidgetVisible" },
{ "key": "ctrl+p", "command": "focusPreviousRenameSuggestion", "when": "renameInputVisible" },
{ "key": "ctrl+p", "command": "history.showPrevious", "when": "historyNavigationBackwardsEnabled && historyNavigationWidgetFocus && !isComposing && !suggestWidgetVisible" },
{ "key": "ctrl+p", "command": "iconSelectBox.focusUp", "when": "iconSelectBoxFocus" },
{ "key": "ctrl+p", "command": "interactive.history.previous", "when": "!suggestWidgetVisible && activeEditor == 'workbench.editor.interactive' && interactiveInputCursorAtBoundary != 'bottom' && interactiveInputCursorAtBoundary != 'none'" },
{ "key": "ctrl+p", "command": "interactive.history.previous", "when": "!suggestWidgetVisible && activeEditor == 'workbench.editor.repl' && interactiveInputCursorAtBoundary != 'bottom' && interactiveInputCursorAtBoundary != 'none'" },
{ "key": "ctrl+p", "command": "list.focusUp", "when": "listFocus && !inputFocus && !treestickyScrollFocused" },
{ "key": "ctrl+p", "command": "notebook.cell.chat.previousFromHistory", "when": "inlineChatFocused && notebookCellChatFocused" },
{ "key": "ctrl+p", "command": "notebook.cell.nullAction", "when": "notebookOutputInputFocused" },
{ "key": "ctrl+p", "command": "notifications.focusPreviousToast", "when": "notificationFocus && notificationToastsVisible" },
{ "key": "ctrl+p", "command": "quickInput.previous", "when": "inQuickInput && quickInputType == 'quickPick'" },
{ "key": "ctrl+p", "command": "scm.viewPreviousCommit", "when": "scmInputIsInFirstPosition && scmRepository && !suggestWidgetVisible" },
{ "key": "ctrl+p", "command": "selectPrevCodeAction", "when": "codeActionMenuVisible" },
{ "key": "ctrl+p", "command": "selectPrevSuggestion", "when": "suggestWidgetMultipleSuggestions && suggestWidgetVisible && textInputFocus || suggestWidgetVisible && textInputFocus && !suggestWidgetHasFocusedSuggestion" },
{ "key": "ctrl+p", "command": "showPrevParameterHint", "when": "editorFocus && parameterHintsMultipleSignatures && parameterHintsVisible" },
{ "key": "ctrl+p", "command": "workbench.action.interactivePlayground.arrowUp", "when": "interactivePlaygroundFocus && !editorTextFocus" },
{ "key": "ctrl+p", "command": "workbench.action.terminal.selectPrevSuggestion", "when": "terminalFocus && terminalHasBeenCreated && terminalIsOpen && terminalSuggestWidgetVisible || terminalFocus && terminalIsOpen && terminalProcessSupported && terminalSuggestWidgetVisible" },
{ "key": "ctrl+p", "command": "workbench.banner.focusPreviousAction", "when": "bannerFocused" },
{ "key": "ctrl+p", "command": "workbench.statusBar.focusPrevious", "when": "statusBarFocused" },
{ "key": "ctrl+f", "command": "notebook.focusNextEditor", "when": "config.notebook.navigation.allowNavigateToSurroundingCells && editorTextFocus && inputFocus && notebookEditorFocused && !accessibilityModeEnabled && !isEmbeddedDiffEditor && notebookEditorCursorAtBoundary != 'none' && notebookEditorCursorAtBoundary != 'top'" },
{ "key": "ctrl+f", "command": "notebook.focusNextEditor", "when": "config.notebook.navigation.allowNavigateToSurroundingCells && notebookCursorNavigationMode && notebookEditorFocused && !accessibilityModeEnabled && !isEmbeddedDiffEditor && !notebookCellMarkdownEditMode && notebookCellType == 'markup'" },
{ "key": "ctrl+f", "command": "editor.action.scrollDownHover", "when": "editorHoverFocused" },
{ "key": "ctrl+f", "command": "workbench.action.terminal.chat.nextFromHistory", "when": "terminalChatFocus" },
{ "key": "ctrl+f", "command": "breadcrumbs.selectFocused", "when": "breadcrumbsActive && breadcrumbsVisible" },
// { "key": "ctrl+f", "command": "cursorDown", "when": "textInputFocus" },
{ "key": "ctrl+f", "command": "editor.action.selectNextStickyScrollLine", "when": "stickyScrollFocused" },
// { "key": "ctrl+f", "command": "extension.vim_down", "when": "editorTextFocus && vim.active && !inDebugRepl && !parameterHintsVisible && !suggestWidgetVisible" },
{ "key": "ctrl+f", "command": "focusNextRenameSuggestion", "when": "renameInputVisible" },
{ "key": "ctrl+f", "command": "history.showNext", "when": "historyNavigationForwardsEnabled && historyNavigationWidgetFocus && !isComposing && !suggestWidgetVisible" },
{ "key": "ctrl+f", "command": "iconSelectBox.focusDown", "when": "iconSelectBoxFocus" },
{ "key": "ctrl+f", "command": "interactive.history.next", "when": "!suggestWidgetVisible && activeEditor == 'workbench.editor.interactive' && interactiveInputCursorAtBoundary != 'none' && interactiveInputCursorAtBoundary != 'top'" },
{ "key": "ctrl+f", "command": "interactive.history.next", "when": "!suggestWidgetVisible && activeEditor == 'workbench.editor.repl' && interactiveInputCursorAtBoundary != 'none' && interactiveInputCursorAtBoundary != 'top'" },
{ "key": "ctrl+f", "command": "list.focusDown", "when": "listFocus && !inputFocus && !treestickyScrollFocused" },
{ "key": "ctrl+f", "command": "notebook.cell.nullAction", "when": "notebookOutputInputFocused" },
{ "key": "ctrl+f", "command": "notebook.cell.chat.nextFromHistory", "when": "inlineChatFocused && notebookCellChatFocused" },
{ "key": "ctrl+f", "command": "notifications.focusNextToast", "when": "notificationFocus && notificationToastsVisible" },
{ "key": "ctrl+f", "command": "quickInput.next", "when": "inQuickInput && quickInputType == 'quickPick'" },
{ "key": "ctrl+f", "command": "scm.viewNextCommit", "when": "scmInputIsInLastPosition && scmRepository && !suggestWidgetVisible" },
{ "key": "ctrl+f", "command": "selectNextCodeAction", "when": "codeActionMenuVisible" },
{ "key": "ctrl+f", "command": "selectNextSuggestion", "when": "suggestWidgetMultipleSuggestions && suggestWidgetVisible && textInputFocus || suggestWidgetVisible && textInputFocus && !suggestWidgetHasFocusedSuggestion" },
{ "key": "ctrl+f", "command": "settings.action.focusSettingsFile", "when": "inSettingsSearch && !suggestWidgetVisible" },
{ "key": "ctrl+f", "command": "settings.action.focusSettingsFromSearch", "when": "inSettingsSearch && !suggestWidgetVisible" },
{ "key": "ctrl+f", "command": "showNextParameterHint", "when": "editorFocus && parameterHintsMultipleSignatures && parameterHintsVisible" },
{ "key": "ctrl+f", "command": "workbench.action.interactivePlayground.arrowDown", "when": "interactivePlaygroundFocus && !editorTextFocus" },
{ "key": "ctrl+f", "command": "workbench.action.terminal.selectNextSuggestion", "when": "terminalFocus && terminalHasBeenCreated && terminalIsOpen && terminalSuggestWidgetVisible || terminalFocus && terminalIsOpen && terminalProcessSupported && terminalSuggestWidgetVisible" },
{ "key": "ctrl+f", "command": "workbench.banner.focusNextAction", "when": "bannerFocused" },
{ "key": "ctrl+f", "command": "workbench.statusBar.focusNext", "when": "statusBarFocused" },
{ "key": "ctrl+n", "command": "notebook.focusNextEditor", "when": "config.notebook.navigation.allowNavigateToSurroundingCells && editorTextFocus && inputFocus && notebookEditorFocused && !accessibilityModeEnabled && !isEmbeddedDiffEditor && notebookEditorCursorAtBoundary != 'none' && notebookEditorCursorAtBoundary != 'top'" },
{ "key": "ctrl+n", "command": "notebook.focusNextEditor", "when": "config.notebook.navigation.allowNavigateToSurroundingCells && notebookCursorNavigationMode && notebookEditorFocused && !accessibilityModeEnabled && !isEmbeddedDiffEditor && !notebookCellMarkdownEditMode && notebookCellType == 'markup'" },
{ "key": "ctrl+n", "command": "editor.action.scrollDownHover", "when": "editorHoverFocused" },
{ "key": "ctrl+n", "command": "workbench.action.terminal.chat.nextFromHistory", "when": "terminalChatFocus" },
{ "key": "ctrl+n", "command": "breadcrumbs.selectFocused", "when": "breadcrumbsActive && breadcrumbsVisible" },
// { "key": "ctrl+n", "command": "cursorDown", "when": "textInputFocus" },
{ "key": "ctrl+n", "command": "editor.action.selectNextStickyScrollLine", "when": "stickyScrollFocused" },
// { "key": "ctrl+n", "command": "extension.vim_down", "when": "editorTextFocus && vim.active && !inDebugRepl && !parameterHintsVisible && !suggestWidgetVisible" },
{ "key": "ctrl+n", "command": "focusNextRenameSuggestion", "when": "renameInputVisible" },
{ "key": "ctrl+n", "command": "history.showNext", "when": "historyNavigationForwardsEnabled && historyNavigationWidgetFocus && !isComposing && !suggestWidgetVisible" },
{ "key": "ctrl+n", "command": "iconSelectBox.focusDown", "when": "iconSelectBoxFocus" },
{ "key": "ctrl+n", "command": "interactive.history.next", "when": "!suggestWidgetVisible && activeEditor == 'workbench.editor.interactive' && interactiveInputCursorAtBoundary != 'none' && interactiveInputCursorAtBoundary != 'top'" },
{ "key": "ctrl+n", "command": "interactive.history.next", "when": "!suggestWidgetVisible && activeEditor == 'workbench.editor.repl' && interactiveInputCursorAtBoundary != 'none' && interactiveInputCursorAtBoundary != 'top'" },
{ "key": "ctrl+n", "command": "list.focusDown", "when": "listFocus && !inputFocus && !treestickyScrollFocused" },
{ "key": "ctrl+n", "command": "notebook.cell.nullAction", "when": "notebookOutputInputFocused" },
{ "key": "ctrl+n", "command": "notebook.cell.chat.nextFromHistory", "when": "inlineChatFocused && notebookCellChatFocused" },
{ "key": "ctrl+n", "command": "notifications.focusNextToast", "when": "notificationFocus && notificationToastsVisible" },
{ "key": "ctrl+n", "command": "quickInput.next", "when": "inQuickInput && quickInputType == 'quickPick'" },
{ "key": "ctrl+n", "command": "scm.viewNextCommit", "when": "scmInputIsInLastPosition && scmRepository && !suggestWidgetVisible" },
{ "key": "ctrl+n", "command": "selectNextCodeAction", "when": "codeActionMenuVisible" },
{ "key": "ctrl+n", "command": "selectNextSuggestion", "when": "suggestWidgetMultipleSuggestions && suggestWidgetVisible && textInputFocus || suggestWidgetVisible && textInputFocus && !suggestWidgetHasFocusedSuggestion" },
{ "key": "ctrl+n", "command": "settings.action.focusSettingsFile", "when": "inSettingsSearch && !suggestWidgetVisible" },
{ "key": "ctrl+n", "command": "settings.action.focusSettingsFromSearch", "when": "inSettingsSearch && !suggestWidgetVisible" },
{ "key": "ctrl+n", "command": "showNextParameterHint", "when": "editorFocus && parameterHintsMultipleSignatures && parameterHintsVisible" },
{ "key": "ctrl+n", "command": "workbench.action.interactivePlayground.arrowDown", "when": "interactivePlaygroundFocus && !editorTextFocus" },
{ "key": "ctrl+n", "command": "workbench.action.terminal.selectNextSuggestion", "when": "terminalFocus && terminalHasBeenCreated && terminalIsOpen && terminalSuggestWidgetVisible || terminalFocus && terminalIsOpen && terminalProcessSupported && terminalSuggestWidgetVisible" },
{ "key": "ctrl+n", "command": "workbench.banner.focusNextAction", "when": "bannerFocused" },
{ "key": "ctrl+n", "command": "workbench.statusBar.focusNext", "when": "statusBarFocused" }
]