├── README.md ├── keybindings.json └── settings.json /README.md: -------------------------------------------------------------------------------- 1 | # vscode_bindings 2 | -------------------------------------------------------------------------------- /keybindings.json: -------------------------------------------------------------------------------- 1 | // Place your key bindings in this file to override the defaults 2 | [ 3 | // NAVIGATION 4 | { 5 | "key": "ctrl+shift+a", 6 | "command": "workbench.action.terminal.focusNext", 7 | "when": "terminalFocus" 8 | }, 9 | { 10 | "key": "ctrl+shift+b", 11 | "command": "workbench.action.terminal.focusPrevious", 12 | "when": "terminalFocus" 13 | }, 14 | { 15 | "key": "ctrl+shift+j", 16 | "command": "workbench.action.togglePanel" 17 | }, 18 | { 19 | "key": "ctrl+shift+n", 20 | "command": "workbench.action.terminal.new", 21 | "when": "terminalFocus" 22 | }, 23 | { 24 | "key": "ctrl+shift+w", 25 | "command": "workbench.action.terminal.kill", 26 | "when": "terminalFocus" 27 | }, 28 | // FILE TREE 29 | { 30 | "command": "workbench.action.toggleSidebarVisibility", 31 | "key": "ctrl+e" 32 | }, 33 | { 34 | "command": "workbench.files.action.focusFilesExplorer", 35 | "key": "ctrl+e", 36 | "when": "editorTextFocus" 37 | }, 38 | { 39 | "key": "n", 40 | "command": "explorer.newFile", 41 | "when": "filesExplorerFocus && !inputFocus" 42 | }, 43 | { 44 | "command": "renameFile", 45 | "key": "r", 46 | "when": "filesExplorerFocus && !inputFocus" 47 | }, 48 | { 49 | "key": "shift+n", 50 | "command": "explorer.newFolder", 51 | "when": "explorerViewletFocus" 52 | }, 53 | { 54 | "key": "shift+n", 55 | "command": "workbench.action.newWindow", 56 | "when": "!explorerViewletFocus" 57 | }, 58 | { 59 | "command": "deleteFile", 60 | "key": "d", 61 | "when": "filesExplorerFocus && !inputFocus" 62 | }, 63 | 64 | // EXTRA 65 | { 66 | "key": "ctrl+shift+5", 67 | "command": "editor.emmet.action.matchTag" 68 | }, 69 | { 70 | "key": "ctrl+z", 71 | "command": "workbench.action.toggleZenMode" 72 | } 73 | ] 74 | -------------------------------------------------------------------------------- /settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "editor.formatOnSave": true, 3 | "editor.suggest.insertMode": "replace", 4 | "terminal.integrated.fontFamily": "MesloLGS NF", 5 | "editor.linkedEditing": true, 6 | "javascript.updateImportsOnFileMove.enabled": "always", 7 | "window.zoomLevel": 0.5, 8 | "launch": {}, 9 | "[json]": {}, 10 | "workbench.statusBar.visible": false, 11 | "editor.minimap.enabled": false, 12 | "breadcrumbs.enabled": false, 13 | "workbench.iconTheme": "material-icon-theme", 14 | "update.showReleaseNotes": false, 15 | "workbench.activityBar.visible": false, 16 | "zenMode.hideLineNumbers": false, 17 | "zenMode.hideTabs": false, 18 | "editor.lineNumbers": "relative", 19 | 20 | "vim.leader": "", 21 | "vim.hlsearch": true, 22 | "vim.normalModeKeyBindingsNonRecursive": [ 23 | // NAVIGATION 24 | // switch b/w buffers 25 | { "before": [""], "commands": [":bprevious"] }, 26 | { "before": [""], "commands": [":bnext"] }, 27 | 28 | // splits 29 | { "before": ["leader", "v"], "commands": [":vsplit"] }, 30 | { "before": ["leader", "s"], "commands": [":split"] }, 31 | 32 | // panes 33 | { 34 | "before": ["leader", "h"], 35 | "commands": ["workbench.action.focusLeftGroup"] 36 | }, 37 | { 38 | "before": ["leader", "j"], 39 | "commands": ["workbench.action.focusBelowGroup"] 40 | }, 41 | { 42 | "before": ["leader", "k"], 43 | "commands": ["workbench.action.focusAboveGroup"] 44 | }, 45 | { 46 | "before": ["leader", "l"], 47 | "commands": ["workbench.action.focusRightGroup"] 48 | }, 49 | // NICE TO HAVE 50 | { "before": ["leader", "w"], "commands": [":w!"] }, 51 | { "before": ["leader", "q"], "commands": [":q!"] }, 52 | { "before": ["leader", "x"], "commands": [":x!"] }, 53 | { 54 | "before": ["[", "d"], 55 | "commands": ["editor.action.marker.prev"] 56 | }, 57 | { 58 | "before": ["]", "d"], 59 | "commands": ["editor.action.marker.next"] 60 | }, 61 | { 62 | "before": ["", "c", "a"], 63 | "commands": ["editor.action.quickFix"] 64 | }, 65 | { "before": ["leader", "f"], "commands": ["workbench.action.quickOpen"] }, 66 | { "before": ["leader", "p"], "commands": ["editor.action.formatDocument"] }, 67 | { 68 | "before": ["g", "h"], 69 | "commands": ["editor.action.showDefinitionPreviewHover"] 70 | } 71 | ], 72 | "vim.visualModeKeyBindings": [ 73 | // Stay in visual mode while indenting 74 | { "before": ["<"], "commands": ["editor.action.outdentLines"] }, 75 | { "before": [">"], "commands": ["editor.action.indentLines"] }, 76 | // Move selected lines while staying in visual mode 77 | { "before": ["J"], "commands": ["editor.action.moveLinesDownAction"] }, 78 | { "before": ["K"], "commands": ["editor.action.moveLinesUpAction"] }, 79 | // toggle comment selection 80 | { "before": ["leader", "c"], "commands": ["editor.action.commentLine"] } 81 | ], 82 | "[typescriptreact]": { 83 | "editor.defaultFormatter": "esbenp.prettier-vscode" 84 | }, 85 | "go.toolsManagement.autoUpdate": true, 86 | "[typescript]": { 87 | "editor.defaultFormatter": "esbenp.prettier-vscode" 88 | }, 89 | "[jsonc]": { 90 | "editor.defaultFormatter": "esbenp.prettier-vscode" 91 | } 92 | } 93 | --------------------------------------------------------------------------------