feat(vscode): VIM keybindings + settings updates

- VIM: Remove Neovim plugin and use VIM since it is easier to set keymaps
- VIM: Keybindings made similar to Neovim
- UI: Theme changed to Catppuccin-Mocha
- Settings: Remove distractions, group settings, search exclusions
This commit is contained in:
Pratik Tripathy
2024-12-26 21:28:08 +05:30
parent c64882ba65
commit decf7c614f
2 changed files with 105 additions and 30 deletions

View File

@@ -72,19 +72,23 @@
// Navigation // Navigation
{ {
"key": "ctrl+h", "key": "ctrl+h",
"command": "workbench.action.navigateLeft" "command": "workbench.action.navigateLeft",
"when": "vim.mode == 'Normal' && editorTextFocus"
}, },
{ {
"key": "ctrl+l", "key": "ctrl+l",
"command": "workbench.action.navigateRight" "command": "workbench.action.navigateRight",
"when": "vim.mode == 'Normal' && editorTextFocus"
}, },
{ {
"key": "ctrl+k", "key": "ctrl+k",
"command": "workbench.action.navigateUp" "command": "workbench.action.navigateUp",
"when": "vim.mode == 'Normal' && editorTextFocus"
}, },
{ {
"key": "ctrl+j", "key": "ctrl+j",
"command": "workbench.action.navigateDown" "command": "workbench.action.navigateDown",
"when": "vim.mode == 'Normal' && editorTextFocus"
}, },
{ {
"key": "space b l", "key": "space b l",
@@ -115,7 +119,7 @@
"workbench.files.action.focusFilesExplorer" "workbench.files.action.focusFilesExplorer"
] ]
}, },
"when": "vim.mode == 'Normal'" "when": "vim.mode == 'Normal' && editorTextFocus"
}, },
{ {
"key": "space e", "key": "space e",
@@ -138,20 +142,12 @@
{ {
"key": "shift shift", "key": "shift shift",
"command": "workbench.action.quickOpen", "command": "workbench.action.quickOpen",
"when": "vim.mode == 'Normal'" "when": "vim.mode == 'Normal' && editorTextFocus"
},
{
"key": "space g g",
"command": "runCommands",
"when": "vim.mode == 'Normal'",
"args": {
"commands": ["workbench.view.scm", "workbench.scm.focus"]
}
}, },
{ {
"key": "ctrl+alt+f", "key": "ctrl+alt+f",
"command": "workbench.action.findInFiles", "command": "workbench.action.findInFiles",
"when": "vim.mode == 'Normal'" "when": "vim.mode == 'Normal' && editorTextFocus"
}, },
{ {
"key": "space p", "key": "space p",
@@ -284,6 +280,46 @@
"when": "vim.mode == 'Normal' && editorTextFocus" "when": "vim.mode == 'Normal' && editorTextFocus"
}, },
// Git
{
"key": "space g g",
"command": "runCommands",
"when": "vim.mode == 'Normal' && editorTextFocus",
"args": {
"commands": ["workbench.view.scm", "workbench.scm.focus"]
}
},
{
"key": "] g",
"command": "workbench.action.editor.nextChange",
"when": "vim.mode == 'Normal' && editorTextFocus"
},
{
"key": "[ g",
"command": "workbench.action.editor.previousChange",
"when": "vim.mode == 'Normal' && editorTextFocus"
},
{
"key": "space g b",
"command": "git.checkout",
"when": "vim.mode == 'Normal' && editorTextFocus"
},
{
"key": "space g p",
"command": "editor.action.dirtydiff.next",
"when": "vim.mode == 'Normal' && editorTextFocus && !textCompareEditorActive"
},
{
"key": "space g c",
"command": "git-graph.view",
"when": "vim.mode == 'Normal' && editorTextFocus && !textCompareEditorActive"
},
{
"key": "space g l",
"command": "git-graph.view",
"when": "vim.mode == 'Normal' && editorTextFocus && !textCompareEditorActive"
},
// Test commands // Test commands
{ {
"key": "space t t", "key": "space t t",

View File

@@ -6,19 +6,18 @@
// Privacy // Privacy
"telemetry.telemetryLevel": "off", "telemetry.telemetryLevel": "off",
"extensions.ignoreRecommendations": true, "extensions.ignoreRecommendations": true,
"security.workspace.trust.untrustedFiles": "open",
// Editor // Editor
"editor.fontSize": 15, "editor.cursorWidth": 2,
"editor.cursorWidth": 3, "editor.tabSize": 4,
"editor.minimap.enabled": false,
"editor.wordWrap": "on", "editor.wordWrap": "on",
"editor.formatOnSave": true, "editor.formatOnSave": true,
"editor.formatOnPaste": true, "editor.formatOnPaste": true,
"editor.copyWithSyntaxHighlighting": true, "editor.copyWithSyntaxHighlighting": false,
"editor.acceptSuggestionOnEnter": "smart", "editor.acceptSuggestionOnEnter": "smart",
"editor.snippetSuggestions": "top", "editor.snippetSuggestions": "top",
"editor.guides.indentation": true, "editor.guides.indentation": true,
"editor.tabSize": 4,
"editor.insertSpaces": true, "editor.insertSpaces": true,
"editor.detectIndentation": false, "editor.detectIndentation": false,
"editor.multiCursorModifier": "ctrlCmd", "editor.multiCursorModifier": "ctrlCmd",
@@ -26,19 +25,22 @@
"files.trimTrailingWhitespace": true, "files.trimTrailingWhitespace": true,
"files.autoSave": "afterDelay", "files.autoSave": "afterDelay",
"files.autoSaveDelay": 500, "files.autoSaveDelay": 500,
"diffEditor.renderSideBySide": true, "files.insertFinalNewline": true,
"diffEditor.ignoreTrimWhitespace": false, "files.trimFinalNewlines": true,
"terminal.integrated.shell.linux": "/bin/zsh", "terminal.integrated.shell.linux": "/bin/zsh",
"explorer.confirmDragAndDrop": false,
"workbench.sideBar.location": "right",
// Editor Font // Editor Typography
"editor.fontFamily": "FiraCode Nerd Font Mono", "editor.fontFamily": "FiraCode Nerd Font Mono",
"editor.fontLigatures": true, "editor.fontLigatures": true,
"editor.fontSize": 15,
"terminal.integrated.fontFamily": "FiraCode Nerd Font Mono", "terminal.integrated.fontFamily": "FiraCode Nerd Font Mono",
"terminal.integrated.fontSize": 15, "terminal.integrated.fontSize": 15,
// Theme
"workbench.iconTheme": "material-icon-theme", "workbench.iconTheme": "material-icon-theme",
"workbench.startupEditor": "newUntitledFile", "workbench.colorTheme": "Catppuccin Mocha",
"workbench.sideBar.location": "right",
"workbench.colorTheme": "GitHub Dark Default",
"workbench.colorCustomizations": { "workbench.colorCustomizations": {
"tab.activeBackground": "#07f7af3f", "tab.activeBackground": "#07f7af3f",
"tab.activeBorder": "#ffffff", "tab.activeBorder": "#ffffff",
@@ -48,9 +50,46 @@
"statusBar.foreground": "#ffffff", "statusBar.foreground": "#ffffff",
"statusBar.debuggingForeground": "#ffffff" "statusBar.debuggingForeground": "#ffffff"
}, },
"window.menuBarVisibility": "compact",
"explorer.confirmDragAndDrop": false, // Silence the Noise
"security.workspace.trust.untrustedFiles": "open", "window.menuBarVisibility": "toggle",
"workbench.startupEditor": "newUntitledFile",
"editor.minimap.enabled": false,
"editor.hover.delay": 1500,
"workbench.tips.enabled": false,
"workbench.tree.enableStickyScroll": false,
"editor.stickyScroll.enabled": false,
"editor.overviewRulerBorder": false,
"editor.hideCursorInOverviewRuler": true,
"editor.gotoLocation.multipleReferences": "goto",
"editor.gotoLocation.multipleDefinitions": "goto",
"editor.gotoLocation.multipleDeclarations": "goto",
"editor.gotoLocation.multipleImplementations": "goto",
"editor.gotoLocation.multipleTypeDefinitions": "goto",
"workbench.editor.enablePreviewFromQuickOpen": false,
// Search
"search.useIgnoreFiles": false,
"search.exclude": {
// Hide everything in /public
"**/public/{[^i],?[^n]}*": true,
"**/node_modules": true,
"**/dist": true,
"**/composer.lock": true,
"**/package-lock.json": true
},
// Code
"breadcrumbs.enabled": true,
"diffEditor.renderSideBySide": true,
"diffEditor.ignoreTrimWhitespace": false,
"diffEditor.wordWrap": "on",
"emmet.includeLanguages": {
"vue-html": "html",
"vue": "html",
"react": "html",
"javascript": "html"
},
// Project Manager // Project Manager
"projectManager.git.baseFolders": [".git"], "projectManager.git.baseFolders": [".git"],
@@ -77,7 +116,7 @@
"debug.javascript.autoAttachFilter": "disabled", "debug.javascript.autoAttachFilter": "disabled",
"debug.onTaskErrors": "debugAnyway", "debug.onTaskErrors": "debugAnyway",
// Prettier Plugin // Prettier
"prettier.tabWidth": 4, "prettier.tabWidth": 4,
"prettier.useTabs": false, "prettier.useTabs": false,
"prettier.printWidth": 85, "prettier.printWidth": 85,