VS code is a code editor where I spend a good portion of my work hours. Being able to navigate between different files and the terminal improves my workflow greatly. Since there are so many VS code hotkeys, I actually have 2 vs code layers, the VS code editor layer and the VS code terminal layer.
The VS code editor layer takes place in the editor where content is edited. The editor layer belongs to an application layer, where all keys are hyper keys and karabiner-elements transforms the keys.
On the right-hand side, there are shortcuts to open, close and move between different editor groups and tabs. A group is when there are multiple windows open, like split vertically side by side. A tab is when there are multiple tabs open.
On the left-hand side, there are shortcuts to search and replace, add cursors and go to problems within the editor. Multi-cursor is when multiple cursors can be created at specific locations either by position or by specific text. Problems any problems an editor sees that may be a logic, syntax or an extension related tool like incorrect spelling.
The terminal layer takes place in the terminal where commands are ran. The terminal layer belongs to an application 2 layer since there are not enough hotkey spaces on the first application layer and also takes place in karabiner-elements.
Right now, only the right hand side is used. Shortcuts to open, close and move between different groups and tabs similar to the right hand side of the VS code editor layer. Multiple terminal instances can be created side by side or
Copy // Place your key bindings in this file to override the defaults
[
// Toggle between terminal and editor focus
{ "key": "ctrl+shift+alt+cmd+f4", "command": "workbench.action.terminal.focus"},
{
"key": "ctrl+shift+alt+cmd+f4",
"command": "workbench.action.focusActiveEditorGroup",
"when": "terminalFocus"
},
{
"key": "alt+cmd+u",
"command": "workbench.action.terminal.focusPreviousPane",
"when": "terminalFocus && terminalProcessSupported"
},
{
"key": "alt+left",
"command": "-workbench.action.terminal.focusPreviousPane",
"when": "terminalFocus && terminalProcessSupported"
},
{
"key": "ctrl+shift+tab",
"command": "-workbench.action.quickOpenLeastRecentlyUsedEditorInGroup"
},
{
"key": "ctrl+shift+alt+cmd+l",
"command": "workbench.action.nextEditor"
},
{
"key": "ctrl+pagedown",
"command": "-workbench.action.nextEditor"
},
{
"key": "ctrl+shift+alt+cmd+j",
"command": "workbench.action.previousEditor"
},
{
"key": "ctrl+pageup",
"command": "-workbench.action.previousEditor"
},
{
"key": "alt+cmd+right",
"command": "-workbench.action.nextEditor"
},
{
"key": "alt+cmd+left",
"command": "-workbench.action.previousEditor"
},
{
"key": "alt+cmd+o",
"command": "workbench.action.terminal.focusNextPane",
"when": "terminalFocus && terminalProcessSupported"
},
{
"key": "alt+cmd+down",
"command": "-workbench.action.terminal.focusNextPane",
"when": "terminalFocus && terminalProcessSupported"
},
{
"key": "alt+cmd+up",
"command": "-workbench.action.terminal.focusPreviousPane",
"when": "terminalFocus && terminalProcessSupported"
},
{
"key": "alt+cmd+l",
"command": "workbench.action.terminal.focusNext",
"when": "terminalFocus && terminalProcessSupported"
},
{
"key": "cmd+6",
"command": "-workbench.action.terminal.focusNext",
"when": "terminalFocus && terminalProcessSupported"
},
{
"key": "alt+cmd+j",
"command": "workbench.action.terminal.focusPrevious",
"when": "terminalFocus && terminalProcessSupported"
},
{
"key": "cmd+5",
"command": "-workbench.action.terminal.focusPrevious",
"when": "terminalFocus && terminalProcessSupported"
},
{
"key": "alt+cmd+/",
"command": "workbench.action.terminal.resizePaneDown",
"when": "terminalFocus && terminalProcessSupported"
},
{
"key": "ctrl+cmd+down",
"command": "-workbench.action.terminal.resizePaneDown",
"when": "terminalFocus && terminalProcessSupported"
},
{
"key": "alt+cmd+p",
"command": "workbench.action.terminal.resizePaneUp",
"when": "terminalFocus && terminalProcessSupported"
},
{
"key": "ctrl+cmd+up",
"command": "-workbench.action.terminal.resizePaneUp",
"when": "terminalFocus && terminalProcessSupported"
},
{
"key": "alt+cmd+i",
"command": "workbench.action.terminal.split",
"when": "terminalFocus && terminalProcessSupported"
},
{
"key": "cmd+\\",
"command": "-workbench.action.terminal.split",
"when": "terminalFocus && terminalProcessSupported"
},
{
"key": "alt+cmd+m",
"command": "workbench.action.toggleSidebarVisibility"
},
{
"key": "cmd+b",
"command": "-workbench.action.toggleSidebarVisibility"
},
{
"key": "alt+cmd+y",
"command": "workbench.action.terminal.kill"
},
{
"key": "alt+cmd+[KeyK]",
"command": "workbench.action.terminal.newInActiveWorkspace"
},
{
"key": "alt+z",
"command": "workbench.action.quickOpenNavigateNextInFilePicker",
"when": "inFilesPicker && inQuickOpen"
},
{
"key": "cmd+p",
"command": "-workbench.action.quickOpenNavigateNextInFilePicker",
"when": "inFilesPicker && inQuickOpen"
},
{
"key": "ctrl+shift+alt+cmd+f5",
"command": "workbench.action.quickOpen"
},
{
"key": "cmd+p",
"command": "-workbench.action.quickOpen"
},
{
"key": "shift+cmd+w",
"command": "workbench.action.closeWindow"
},
{
"key": "shift+cmd+w",
"command": "-workbench.action.closeWindow"
},
{
"key": "ctrl+shift+alt+cmd+c",
"command": "actions.find",
"when": "editorFocus || editorIsOpen"
},
{
"key": "cmd+f",
"command": "-actions.find",
"when": "editorFocus || editorIsOpen"
},
{
"key": "ctrl+shift+alt+cmd+v",
"command": "editor.action.nextMatchFindAction",
"when": "editorFocus"
},
{
"key": "cmd+g",
"command": "-editor.action.nextMatchFindAction",
"when": "editorFocus"
},
{
"key": "ctrl+shift+alt+cmd+x",
"command": "editor.action.previousMatchFindAction",
"when": "editorFocus"
},
{
"key": "shift+cmd+g",
"command": "-editor.action.previousMatchFindAction",
"when": "editorFocus"
},
{
"key": "ctrl+shift+alt+cmd+d",
"command": "editor.action.startFindReplaceAction",
"when": "editorFocus || editorIsOpen"
},
{
"key": "alt+cmd+f",
"command": "-editor.action.startFindReplaceAction",
"when": "editorFocus || editorIsOpen"
},
{
"key": "ctrl+shift+alt+cmd+a",
"command": "editor.action.replaceAll",
"when": "editorFocus && findWidgetVisible"
},
{
"key": "alt+cmd+enter",
"command": "-editor.action.replaceAll",
"when": "editorFocus && findWidgetVisible"
},
{
"key": "ctrl+shift+alt+cmd+t",
"command": "editor.action.insertCursorAbove",
"when": "editorTextFocus"
},
{
"key": "alt+cmd+up",
"command": "-editor.action.insertCursorAbove",
"when": "editorTextFocus"
},
{
"key": "ctrl+shift+alt+cmd+b",
"command": "editor.action.insertCursorBelow",
"when": "editorTextFocus"
},
{
"key": "alt+cmd+down",
"command": "-editor.action.insertCursorBelow",
"when": "editorTextFocus"
},
{
"key": "ctrl+shift+alt+cmd+g",
"command": "cursorUndo",
"when": "textInputFocus"
},
{
"key": "cmd+u",
"command": "-cursorUndo",
"when": "textInputFocus"
},
{
"key": "ctrl+shift+alt+cmd+e",
"command": "editor.action.selectHighlights",
"when": "editorFocus"
},
{
"key": "shift+cmd+l",
"command": "-editor.action.selectHighlights",
"when": "editorFocus"
},
{
"key": "ctrl+shift+alt+cmd+r",
"command": "editor.action.addSelectionToNextFindMatch",
"when": "editorFocus"
},
{
"key": "cmd+d",
"command": "-editor.action.addSelectionToNextFindMatch",
"when": "editorFocus"
},
{
"key": "ctrl+shift+alt+cmd+w",
"command": "editor.action.moveSelectionToPreviousFindMatch"
},
{
"key": "ctrl+shift+alt+cmd+f",
"command": "editor.action.moveSelectionToNextFindMatch",
"when": "editorFocus"
},
{
"key": "cmd+k cmd+d",
"command": "-editor.action.moveSelectionToNextFindMatch",
"when": "editorFocus"
},
{
"key": "ctrl+shift+alt+cmd+i",
"command": "workbench.action.splitEditor"
},
{
"key": "cmd+\\",
"command": "-workbench.action.splitEditor"
},
{
"key": "shift+cmd+]",
"command": "-workbench.action.nextEditor"
},
{
"key": "ctrl+shift+alt+cmd+o",
"command": "workbench.action.focusNextGroup"
},
{
"key": "ctrl+shift+alt+cmd+u",
"command": "workbench.action.focusPreviousGroup"
},
{
"key": "ctrl+shift+alt+cmd+;",
"command": "workbench.action.moveEditorToRightGroup"
},
{
"key": "ctrl+shift+alt+cmd+h",
"command": "workbench.action.moveEditorToLeftGroup"
},
{
"key": "ctrl+shift+alt+cmd+y",
"command": "workbench.action.moveEditorLeftInGroup"
},
{
"key": "cmd+k shift+cmd+left",
"command": "-workbench.action.moveEditorLeftInGroup"
},
{
"key": "ctrl+shift+alt+cmd+p",
"command": "workbench.action.moveEditorRightInGroup"
},
{
"key": "cmd+k shift+cmd+right",
"command": "-workbench.action.moveEditorRightInGroup"
},
{
"key": "ctrl+shift+alt+cmd+f9",
"command": "editor.action.revealDefinition",
"when": "editorHasDefinitionProvider && editorTextFocus && !isInEmbeddedEditor"
},
{
"key": "f12",
"command": "-editor.action.revealDefinition",
"when": "editorHasDefinitionProvider && editorTextFocus && !isInEmbeddedEditor"
},
{
"key": "ctrl+shift+alt+cmd+f10",
"command": "editor.action.peekDefinition",
"when": "editorHasDefinitionProvider && editorTextFocus && !inReferenceSearchEditor && !isInEmbeddedEditor"
},
{
"key": "alt+f12",
"command": "-editor.action.peekDefinition",
"when": "editorHasDefinitionProvider && editorTextFocus && !inReferenceSearchEditor && !isInEmbeddedEditor"
},
{
"key": "ctrl+shift+alt+cmd+f11",
"command": "editor.action.commentLine"
},
{
"key": "ctrl+shift+alt+cmd+a",
"command": "editor.action.marker.prev",
"when": "editorFocus"
},
{
"key": "shift+alt+f8",
"command": "-editor.action.marker.prev",
"when": "editorFocus"
},
{
"key": "ctrl+shift+alt+cmd+s",
"command": "editor.action.marker.next",
"when": "editorFocus"
},
{
"key": "alt+f8",
"command": "-editor.action.marker.next",
"when": "editorFocus"
},
{
"key": "alt+cmd+n",
"command": "workbench.action.togglePanel"
},
{
"key": "cmd+j",
"command": "-workbench.action.togglePanel"
},
{
"key": "ctrl+shift+alt+cmd+z",
"command": "cSpell.addWordToUserDictionary"
},
{
"key": "ctrl+shift+alt+cmd+k",
"command": "workbench.action.quickOpenPreviousRecentlyUsedEditorInGroup"
},
{
"key": "ctrl+tab",
"command": "-workbench.action.quickOpenPreviousRecentlyUsedEditorInGroup"
},
{
"key": "alt+cmd+,",
"command": "workbench.action.terminal.openWebLink"
},
{
"key": "ctrl+shift+alt+cmd+f8",
"command": "workbench.action.showCommands"
},
{
"key": "shift+cmd+p",
"command": "-workbench.action.showCommands"
},
{
"key": "ctrl+shift+alt+cmd+m",
"command": "workbench.action.navigatePreviousInNavigationLocations"
},
{
"key": "ctrl+shift+alt+cmd+n",
"command": "workbench.action.navigateBackInNavigationLocations"
},
]