diff --git a/vscode/keybindings.json b/vscode/keybindings.json new file mode 100644 index 0000000..6a367ad --- /dev/null +++ b/vscode/keybindings.json @@ -0,0 +1,66 @@ +// Place your key bindings in this file to override the defaults +[ + // Editor switch + { + "key": "ctrl-shift-k", + "command": "workbench.action.previousEditorInGroup", + "when": "editorTextFocus && !editorReadonly && vim.active" + }, + { + "key": "ctrl-shift-j", + "command": "workbench.action.nextEditorInGroup", + "when": "editorTextFocus && !editorReadonly && vim.active" + }, + // Move lines up and down + { + "key": "alt+j", + "command": "editor.action.moveLinesDownAction", + "when": "editorTextFocus && !editorReadonly && vim.active" + }, + { + "key": "alt+k", + "command": "editor.action.moveLinesUpAction", + "when": "editorTextFocus && !editorReadonly && vim.active" + }, + // File management + { + "key": "ctrl+n", + "command": "explorer.newFile", + "when": "explorerViewletFocus" + }, + { + "key": "ctrl+shift+n", + "command": "explorer.newFolder", + "when": "explorerViewletFocus" + }, + { + "key": "ctrl+shift+e", + "command": "workbench.action.toggleSidebarVisibility", + "when": "explorerViewletFocus" + }, + // Terminal management + { + "key": "ctrl+shift+;", + "command": "workbench.action.togglePanel", + }, + { + "key": "ctrl+shift+n", + "command": "workbench.action.terminal.new", + "when": "terminalFocus" + }, + { + "key": "ctrl+shift+w", + "command": "workbench.action.terminal.kill", + "when": "terminalFocus" + }, + { + "key": "ctrl+shift+j", + "command": "workbench.action.terminal.focusNext", + "when": "terminalFocus" + }, + { + "key": "ctrl+shift+k", + "command": "workbench.action.terminal.focusPrevious", + "when": "terminalFocus" + } +] diff --git a/vscode/settings.json b/vscode/settings.json new file mode 100644 index 0000000..1cfe073 --- /dev/null +++ b/vscode/settings.json @@ -0,0 +1,255 @@ +{ + "workbench.iconTheme": "material-icon-theme", + "editor.fontFamily": "'Hack Nerd Font Mono', 'Droid Sans Mono', 'monospace', monospace", + "terminal.integrated.fontFamily": "Hack Nerd Font Mono", + "dart.previewFlutterUiGuides": true, + "dart.previewFlutterUiGuidesCustomTracking": true, + "workbench.productIconTheme": "material-product-icons", + "window.menuBarVisibility": "toggle", + "dart.debugExternalPackageLibraries": false, + "dart.debugSdkLibraries": false, + "tabnine.experimentalAutoImports": true, + "markdown-preview-enhanced.previewTheme": "github-dark.css", + "files.associations": { + "*.css": "tailwindcss" + }, + "tabnine.codeLensEnabled": false, + "markdownlint.config": { + "MD024": false + }, + "editor.minimap.enabled": false, + "vim.leader": "", + "vim.hlsearch": true, + "vim.easymotion": true, + "vim.useSystemClipboard": true, + "vim.normalModeKeyBindings": [ + { + "before": [ + "J" + ], + "after": [ + "5", + "j" + ] + }, + { + "before": [ + "K" + ], + "after": [ + "5", + "k" + ] + }, + { + "before": [ + "", + "w" + ], + "commands": [ + ":w" + ] + }, + { + "before": [ + "", + "q" + ], + "commands": [ + ":q" + ] + }, + { + "before": [ + "", + "i" + ], + "commands": [ + "editor.action.formatDocument" + ] + }, + { + "before": [ + "", + "s" + ], + "commands": [ + "workbench.action.splitEditorDown" + ] + }, + { + "before": [ + "", + "v" + ], + "commands": [ + "workbench.action.splitEditorRight" + ] + }, + { + "before": [ + "", + "j" + ], + "commands": [ + "workbench.action.focusBelowGroup" + ] + }, + { + "before": [ + "", + "k" + ], + "commands": [ + "workbench.action.focusAboveGroup" + ] + }, + { + "before": [ + "", + "h" + ], + "commands": [ + "workbench.action.focusLeftGroup" + ] + }, + { + "before": [ + "", + "l" + ], + "commands": [ + "workbench.action.focusRightGroup" + ] + }, + { + "before": [ + "", + "J" + ], + "commands": [ + "workbench.action.moveEditorToBelowGroup" + ] + }, + { + "before": [ + "", + "K" + ], + "commands": [ + "workbench.action.moveEditorToAboveGroup" + ] + }, + { + "before": [ + "", + "H" + ], + "commands": [ + "workbench.action.moveEditorToLeftGroup" + ] + }, + { + "before": [ + "", + "L" + ], + "commands": [ + "workbench.action.moveEditorToRightGroup" + ] + }, + { + "before": [ + "", + "r" + ], + "commands": [ + "editor.action.rename" + ] + }, + { + "before": [ + "", + "f" + ], + "commands": [ + "workbench.action.quickOpen" + ] + }, + { + "before": [ + "", + ";" + ], + "commands": [ + "editor.action.showHover" + ] + }, + { + "before": [ + "", + "" + ], + "commands": [ + "editor.action.revealDefinition" + ] + }, + { + "before": [ + "" + ], + "after": [ + ">", + ">" + ] + }, + { + "before": [ + "" + ], + "after": [ + "<", + "<" + ] + } + ], + "vim.insertModeKeyBindings": [ + { + "before": [ + "j", + "k" + ], + "after": [ + "" + ] + } + ], + "vim.visualModeKeyBindings": [ + { + "before": [ + "j", + "k" + ], + "after": [ + "" + ] + }, + { + "before": [ + "" + ], + "commands": [ + "editor.action.indentLines" + ] + }, + { + "before": [ + "" + ], + "commands": [ + "editor.action.outdentLines" + ] + } + ], + "vim.smartRelativeLine": true +}