Last active
May 4, 2024 11:12
-
-
Save ixacik/f2f263e9d8dfda4e261dc7d582b0f59a to your computer and use it in GitHub Desktop.
Vim Style Keybindings for VSCode
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| [ | |
| // Navigation | |
| { | |
| "key": "ctrl-h", | |
| "command": "workbench.action.navigateLeft" | |
| }, | |
| { | |
| "key": "ctrl-l", | |
| "command": "workbench.action.navigateRight" | |
| }, | |
| { | |
| "key": "ctrl-k", | |
| "command": "workbench.action.navigateUp" | |
| }, | |
| { | |
| "key": "ctrl-j", | |
| "command": "workbench.action.navigateDown" | |
| }, | |
| { | |
| "key": "space ,", | |
| "command": "workbench.action.showAllEditors", | |
| "when": "vim.mode == 'Normal' && (editorTextFocus || !inputFocus)" | |
| }, | |
| { | |
| "key": "space e", | |
| "command": "workbench.files.action.focusFilesExplorer", | |
| "when": "vim.mode == 'Normal' && !sideBarFocus && !inQuickOpen" | |
| }, | |
| { | |
| "key": "space e", | |
| "command": "multiCommand.closeAndFocusEditor", | |
| "when": "sideBarFocus" | |
| }, | |
| // | |
| { | |
| "key": "tab", | |
| "command": "workbench.action.nextEditorInGroup", | |
| "when": "(vim.mode == 'Normal' || vim.mode == 'Visual') && (editorTextFocus || !inputFocus)" | |
| }, | |
| { | |
| "key": "shift-tab", | |
| "command": "workbench.action.previousEditorInGroup", | |
| "when": "(vim.mode == 'Normal' || vim.mode == 'Visual') && (editorTextFocus || !inputFocus)" | |
| }, | |
| // Hovering functionality | |
| { | |
| "key": "space h", | |
| "command": "editor.action.showHover", | |
| "when": "vim.mode == 'Normal' && editorTextFocus && vim.active && !inDebugRepl" | |
| }, | |
| // Coding | |
| { | |
| "key": "shift-j", | |
| "command": "editor.action.moveLinesDownAction", | |
| "when": "vim.mode != 'Insert' && editorTextFocus" | |
| }, | |
| { | |
| "key": "shift-k", | |
| "command": "editor.action.moveLinesUpAction", | |
| "when": "vim.mode != 'Insert' && editorTextFocus" | |
| }, | |
| { | |
| "key": "space c a", | |
| "command": "editor.action.codeAction", | |
| "when": "vim.mode == 'Normal' && editorTextFocus" | |
| }, | |
| { | |
| "key": "space c r", | |
| "command": "editor.action.rename", | |
| "when": "vim.mode == 'Normal' && editorTextFocus" | |
| }, | |
| { | |
| "key": "space c s", | |
| "command": "workbench.action.gotoSymbol", | |
| "when": "vim.mode == 'Normal' && editorTextFocus" | |
| }, | |
| { | |
| "key": "space b d", | |
| "command": "workbench.action.closeActiveEditor", | |
| "when": "vim.mode == 'Normal' && editorTextFocus" | |
| }, | |
| { | |
| "key": "space f", | |
| "command": "workbench.action.quickOpen", | |
| "when": "vim.mode == 'Normal' && !inQuickOpen" | |
| }, | |
| { | |
| "key": "space f", | |
| "command": "workbench.action.quickOpen", | |
| "when": "!editorFocus && !inQuickOpen" | |
| }, | |
| { | |
| "key": "space g d", | |
| "command": "editor.action.revealDefinition", | |
| "when": "vim.mode == 'Normal' && editorTextFocus" | |
| }, | |
| { | |
| "key": "space g r", | |
| "command": "editor.action.goToReferences", | |
| "when": "vim.mode == 'Normal' && editorTextFocus" | |
| }, | |
| { | |
| "key": "space s g", | |
| "command": "workbench.action.findInFiles", | |
| "when": "vim.mode == 'Normal' && (editorTextFocus || !inputFocus)" | |
| }, | |
| { | |
| "key": "space g g", | |
| "command": "workbench.view.scm", | |
| "when": "vim.mode == 'Normal' && (editorTextFocus || !inputFocus)" | |
| }, | |
| { | |
| "key": "ctrl-n", | |
| "command": "editor.action.addSelectionToNextFindMatch", | |
| "when": "(vim.mode == 'Normal' || vim.mode == 'Visual') && (editorTextFocus || !inputFocus)" | |
| }, | |
| { | |
| "key": "enter", | |
| "command": "search.action.focusSearchList", | |
| "when": "!editorFocus && inputFocus && searchViewletVisible && !inQuickOpen" | |
| }, | |
| // File Explorer | |
| { | |
| "key": "r", | |
| "command": "renameFile", | |
| "when": "filesExplorerFocus && foldersViewVisible && !explorerResourceIsRoot && !explorerResourceReadonly && !inputFocus" | |
| }, | |
| { | |
| "key": "c", | |
| "command": "filesExplorer.copy", | |
| "when": "filesExplorerFocus && foldersViewVisible && !explorerResourceIsRoot && !explorerResourceReadonly && !inputFocus" | |
| }, | |
| { | |
| "key": "p", | |
| "command": "filesExplorer.paste", | |
| "when": "filesExplorerFocus && foldersViewVisible && !explorerResourceIsRoot && !explorerResourceReadonly && !inputFocus" | |
| }, | |
| { | |
| "key": "x", | |
| "command": "filesExplorer.cut", | |
| "when": "filesExplorerFocus && foldersViewVisible && !explorerResourceIsRoot && !explorerResourceReadonly && !inputFocus" | |
| }, | |
| { | |
| "key": "d", | |
| "command": "deleteFile", | |
| "when": "filesExplorerFocus && foldersViewVisible && !explorerResourceIsRoot && !explorerResourceReadonly && !inputFocus" | |
| }, | |
| { | |
| "key": "a", | |
| "command": "explorer.newFile", | |
| "when": "filesExplorerFocus && foldersViewVisible && !explorerResourceIsRoot && !explorerResourceReadonly && !inputFocus" | |
| }, | |
| { | |
| "key": "shift-a", | |
| "command": "explorer.newFolder", | |
| "when": "filesExplorerFocus && foldersViewVisible && !explorerResourceIsRoot && !explorerResourceReadonly && !inputFocus" | |
| }, | |
| { | |
| "key": "s", | |
| "command": "explorer.openToSide", | |
| "when": "filesExplorerFocus && foldersViewVisible && !explorerResourceIsRoot && !explorerResourceReadonly && !inputFocus" | |
| }, | |
| { | |
| "key": "shift-s", | |
| "command": "runCommands", | |
| "when": "filesExplorerFocus && foldersViewVisible && !explorerResourceIsRoot && !explorerResourceReadonly && !inputFocus", | |
| "args": { | |
| "commands": [ | |
| "workbench.action.splitEditorDown", | |
| "explorer.openAndPassFocus", | |
| "workbench.action.closeOtherEditors" | |
| ] | |
| } | |
| }, | |
| { | |
| "key": "enter", | |
| "command": "explorer.openAndPassFocus", | |
| "when": "filesExplorerFocus && foldersViewVisible && !explorerResourceIsRoot && !explorerResourceReadonly && !inputFocus" | |
| }, | |
| { | |
| "key": "alt+;", | |
| "command": "workbench.action.openQuickChat" | |
| } | |
| ] |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment