// Place your key bindings in this file to override the defaults
[
    {
        "key": "alt+z",
        "command": "-editor.action.toggleWordWrap"
    },
    {
        "key": "alt+z",
        "command": "-workbench.action.terminal.sizeToContentWidth",
        "when": "terminalFocus && terminalHasBeenCreated && terminalIsOpen || terminalFocus && terminalIsOpen && terminalProcessSupported"
    },
    {
        "key": "alt+r",
        "command": "workbench.action.toggleMaximizeEditorGroup",
        "when": "editorPartMaximizedEditorGroup || editorPartMultipleEditorGroups"
    },
    {
        "key": "ctrl+k ctrl+m",
        "command": "-workbench.action.toggleMaximizeEditorGroup",
        "when": "editorPartMaximizedEditorGroup || editorPartMultipleEditorGroups"
    },
    {
        "key": "alt+r",
        "command": "workbench.action.toggleMaximizedPanel",
        "when": "!editorTextFocus"
    },
    {
        "key": "ctrl+p",
        "command": "-extension.vim_ctrl+p",
        "when": "editorTextFocus && vim.active && vim.use<C-p> && !inDebugRepl || vim.active && vim.use<C-p> && !inDebugRepl && vim.mode == 'CommandlineInProgress' || vim.active && vim.use<C-p> && !inDebugRepl && vim.mode == 'SearchInProgressMode'"
    },
    {
        "key": "alt+t",
        "command": "workbench.action.terminal.toggleTerminal",
        "when": "terminal.active"
    },
    {
        "key": "ctrl+`",
        "command": "-workbench.action.terminal.toggleTerminal",
        "when": "terminal.active"
    },
    {
        "key": "ctrl+e",
        "command": "-workbench.action.quickOpen"
    },
    {
        "key": "ctrl+n",
        "command": "-extension.vim_ctrl+n",
        "when": "editorTextFocus && vim.active && vim.use<C-n> && !inDebugRepl || vim.active && vim.use<C-n> && !inDebugRepl && vim.mode == 'CommandlineInProgress' || vim.active && vim.use<C-n> && !inDebugRepl && vim.mode == 'SearchInProgressMode'"
    },
    {
        "key": "ctrl+t",
        "command": "-extension.vim_ctrl+t",
        "when": "editorTextFocus && vim.active && vim.use<C-t> && !inDebugRepl"
    },
    {
        "key": "ctrl+f",
        "command": "-extension.vim_ctrl+f",
        "when": "editorTextFocus && vim.active && vim.use<C-f> && !inDebugRepl && vim.mode != 'Insert'"
    },
    {
        "key": "ctrl+f",
        "command": "-actions.find",
        "when": "editorFocus || editorIsOpen"
    },
    {
        "key": "ctrl+f",
        "command": "workbench.action.findInFiles"
    },
    {
        "key": "ctrl+shift+f",
        "command": "-workbench.action.findInFiles"
    },
    {
        "key": "ctrl+g",
        "command": "-workbench.action.gotoLine"
    },
    {
        "key": "ctrl+g",
        "command": "-workbench.action.terminal.goToRecentDirectory",
        "when": "terminalFocus && terminalHasBeenCreated || terminalFocus && terminalProcessSupported"
    },
    {
        "key": "alt+r",
        "command": "-toggleSearchRegex",
        "when": "searchViewletFocus"
    },
    {
        "key": "alt+r",
        "command": "-toggleFindRegex",
        "when": "editorFocus"
    },
    {
        "key": "alt+r",
        "command": "-workbench.action.terminal.toggleFindRegex",
        "when": "terminalFindVisible && terminalHasBeenCreated || terminalFindVisible && terminalProcessSupported"
    },
    {
        "key": "alt+r",
        "command": "-toggleSearchEditorRegex",
        "when": "inSearchEditor && searchInputBoxFocus"
    },
    {
        "key": "ctrl+/",
        "command": "-editor.action.accessibleViewAcceptInlineCompletion",
        "when": "accessibleViewIsShown && accessibleViewCurrentProviderId == 'inlineCompletions'"
    },
    {
        "key": "ctrl+k ctrl+/",
        "command": "-editor.foldAllBlockComments",
        "when": "editorTextFocus && foldingEnabled"
    },
    {
        "key": "ctrl+/",
        "command": "-toggleExplainMode",
        "when": "suggestWidgetVisible"
    },
    {
        "key": "ctrl+/",
        "command": "-workbench.action.chat.attachContext",
        "when": "inChatInput && chatLocation == 'editing-session' || inChatInput && chatLocation == 'editor' || inChatInput && chatLocation == 'notebook' || inChatInput && chatLocation == 'panel' || inChatInput && chatLocation == 'terminal'"
    },
    {
        "key": "ctrl+/",
        "command": "-workbench.action.terminal.sendSequence",
        "when": "terminalFocus"
    },
    {
        "key": "shift+alt+l",
        "command": "workbench.action.editorLayoutTwoRowsRight"
    },
    {
        "key": "ctrl+b",
        "command": "-extension.vim_ctrl+b",
        "when": "editorTextFocus && vim.active && vim.use<C-b> && !inDebugRepl && vim.mode != 'Insert'"
    },
    {
        "key": "ctrl+w",
        "command": "-workbench.action.closeActiveEditor"
    },
    {
        "key": "ctrl+w",
        "command": "-workbench.action.closeGroup",
        "when": "activeEditorGroupEmpty && multipleEditorGroups"
    },
    {
        "key": "ctrl+w",
        "command": "-extension.vim_ctrl+w",
        "when": "editorTextFocus && vim.active && vim.use<C-w> && !inDebugRepl"
    },
    {
        "key": "ctrl+w",
        "command": "workbench.action.closeActiveEditor",
        "when": "editorTextFocus"
    }
]