diff --git a/dot_config/Code/User/settings.json b/dot_config/Code/User/settings.json index 638405a..dada426 100644 --- a/dot_config/Code/User/settings.json +++ b/dot_config/Code/User/settings.json @@ -1,243 +1,97 @@ { + // --- General Editor Settings --- "keyboard.dispatch": "keyCode", - // For the code editor "editor.fontFamily": "'Hack', 'Droid Sans Mono', monospace", - "workbench.colorTheme": "GitHub Dark Default", + "editor.lineNumbers": "relative", + "editor.tabSize": 4, + "editor.insertSpaces": true, + "editor.wordWrap": "wordWrapColumn", + "editor.wordWrapColumn": 60, + "editor.cursorSurroundingLines": 5, + "editor.mouseWheelZoom": true, + "files.insertFinalNewline": false, + "files.autoSave": "afterDelay", + "files.autoSaveDelay": 1000, - // For the integrated terminal - "terminal.integrated.fontFamily": "'Hack', monospace" - "vim.insertModeKeyBindings": [ - { - "before": [ - "" - ], - "after": [ - "" - ], - "commands": [ - "workbench.action.files.save" - ] - } - ], + // --- Terminal --- + "terminal.integrated.fontFamily": "'Hack', monospace", - // Optional: If you use the non-recursive version (recommended for most simple mappings): - "vim.insertModeKeyBindingsNonRecursive": [ - { - "before": [ - "" - ], - "after": [ - "" - ], - "commands": [ - "workbench.action.files.save" - ] - } - ], + // --- Theme & Colors (Universal Red Mode) --- + // This forces the red theme on top of ANY dark theme you select + "workbench.colorTheme": "Bearded Theme Monokai Black", "workbench.colorCustomizations": { - "[GitHub Dark]": { - // Activity Bar (Left side) - "activityBar.background": "#1f2428", // Keep dark to blend - "activityBar.activeBorder": "#f85149", // Bright GitHub Red + // Global Red Overrides + "activityBar.background": "#1f2428", + "activityBar.activeBorder": "#f85149", "activityBar.foreground": "#f85149", "activityBar.inactiveForeground": "#6e7681", - - // Status Bar (Bottom) - "statusBar.background": "#da3633", // Deep GitHub Red + + "statusBar.background": "#da3633", "statusBar.foreground": "#ffffff", - // Title Bar & Tabs "titleBar.activeBackground": "#1f2428", "tab.activeBorderTop": "#f85149", - // Lists & Trees (File explorer highlights) "list.activeSelectionForeground": "#f85149", "textLink.foreground": "#f85149", "progressBar.background": "#f85149" - } - }, - // Vim - { - // --- General Editor Settings (matching 'set' commands) --- - "editor.lineNumbers": "relative", // set relativenumber - "vim.useSystemClipboard": true, // set clipboard+=unnamedplus - "editor.tabSize": 4, // set tabstop=4 shiftwidth=4 - "editor.insertSpaces": true, // set expandtab - "editor.wordWrap": "wordWrapColumn", // set tw=60 (approximate behavior) - "editor.wordWrapColumn": 60, - "editor.cursorSurroundingLines": 5, // set linespace / scrolloff behavior - "files.autoSave": "afterDelay", // Replaces vim-auto-save plugin - "files.autoSaveDelay": 1000, // set updatetime=1000 - - // --- Vim Extension Configuration --- - "vim.leader": "", // let mapleader="\" - "vim.hlsearch": true, // set hlsearch - "vim.timeout": 350, // set timeoutlen=350 - - // --- Key Rebinding (Core) --- - // Handle Ctrl key conflicts so Vim handles them, not VS Code - "vim.handleKeys": { - "": false, - "": false, - "": false // Let VS Code handle Quick Open (like fzf) - }, - - // --- Core Editor Settings (from 'set' commands) --- - - // set background=dark - - // set relativenumber - "editor.lineNumbers": "relative", - - // set expandtab - "editor.insertSpaces": true, - - // set tabstop=4, set shiftwidth=4 - "editor.tabSize": 4, - - // set tw=60 - "editor.wordWrap": "wordWrapColumn", - "editor.wordWrapColumn": 60, - - // set nofixendofline (this is the opposite of VS Code's default, so we disable the default) - "files.insertFinalNewline": false, - - // set mouse=a - "editor.mouseWheelZoom": true, // VS Code equivalent for mouse interaction - - // --- Language-Specific Settings (from 'autocmd FileType...') --- - - // autocmd FileType *css,...,typescriptreact,yaml set tabstop=2 shiftwidth=2 - "[css]": { - "editor.tabSize": 2 - }, - "[scss]": { - "editor.tabSize": 2 - }, - "[html]": { - "editor.tabSize": 2 - }, - "[javascript]": { - "editor.tabSize": 2 - }, - "[javascriptreact]": { - "editor.tabSize": 2 - }, - "[json]": { - "editor.tabSize": 2 - }, - "[typescript]": { - "editor.tabSize": 2 - }, - "[typescriptreact]": { - "editor.tabSize": 2 - }, - "[yaml]": { - "editor.tabSize": 2 - }, - - // autocmd FileType go set noexpandtab sw=4 - "[go]": { - "editor.insertSpaces": false, - "editor.tabSize": 4 - }, - - // autocmd Filetype markdown set textwidth=55, formatoptions=... - "[markdown]": { - "editor.wordWrap": "wordWrapColumn", - "editor.wordWrapColumn": 55, - // The rest of 'formatoptions' (like cjMqtvw) is handled by extensions/VSCodeVim - }, - - // autocmd Filetype groovy,Jenkinsfile,taskdata set tw=0 - "[groovy]": { - "editor.wordWrap": "off" - }, - "[jenkinsfile]": { - "editor.wordWrap": "off" }, - // --- VSCodeVim Settings (from 'vim.useSystemClipboard', 'let mapleader', 'nnoremap', etc.) --- - - // set clipboard+=unnamedplus + // --- Vim Settings --- + "vim.leader": " ", "vim.useSystemClipboard": true, - - // set hlsearch "vim.hlsearch": true, - - // set smartcase "vim.smartcase": true, - - // set timeoutlen=350 "vim.timeout": 350, - - // set undofile "vim.undofile": true, + "vim.handleKeys": { + "": false, + "": false, + "": false + }, - // let mapleader="\" - "vim.leader": " ", - - // nnoremap Q @@ - "vim.normalModeKeyBindingsNonRecursive": [ - { - "before": ["Y"], - "after": ["y", "$"], // Changed from 'yy' to 'y$' which is more idiomatic Vim - "silent": true - }, - { - "before": ["Q"], - "after": ["@", "@"], // Last macro - "silent": true - }, - { - "before": [","], - "after": ["z", "a"], // Toggle fold - "silent": true - }, - { - "before": ["'"], - "after": ["`"], // Jump to horizontal position for mark - "silent": true - }, - // nnoremap d d$ - { - "before": ["", "d"], - "after": ["d", "$"] - }, - // nnoremap dl 0d$ - { - "before": ["", "d", "l"], - "after": ["0", "d", "$"] - }, - // nnoremap k (Jump back) - { - "before": ["", "k"], - "after": [""] - }, - // nnoremap j (Jump forward) - { - "before": ["", "j"], - "after": [""] - }, - // nnoremap sp :sp - { - "before": ["", "s", "p"], - "commands": [":split"] - }, - // nnoremap vs :vs - { - "before": ["", "v", "s"], - "commands": [":vsplit"] - }, - // nnoremap vv :vsp ~/.vimrc (Translated to open settings.json) + // --- Key Bindings --- + "vim.insertModeKeyBindings": [ { - "before": ["", "v", "v"], - "commands": ["workbench.action.openSettingsJson"] - }, - // nnoremap yo :Goyo (Translated to Zen Mode) + "before": [""], + "after": [""], + "commands": ["workbench.action.files.save"] + } + ], + "vim.insertModeKeyBindingsNonRecursive": [ { - "before": ["", "y", "o"], - "commands": ["workbench.action.toggleZenMode"] + "before": [""], + "after": [""], + "commands": ["workbench.action.files.save"] } - ] + ], + "vim.normalModeKeyBindingsNonRecursive": [ + { "before": ["Y"], "after": ["y", "$"], "silent": true }, + { "before": ["Q"], "after": ["@", "@"], "silent": true }, + { "before": [","], "after": ["z", "a"], "silent": true }, + { "before": ["'"], "after": ["`"], "silent": true }, + { "before": ["", "d"], "after": ["d", "$"] }, + { "before": ["", "d", "l"], "after": ["0", "d", "$"] }, + { "before": ["", "k"], "after": [""] }, + { "before": ["", "j"], "after": [""] }, + { "before": ["", "s", "p"], "commands": [":split"] }, + { "before": ["", "v", "s"], "commands": [":vsplit"] }, + { "before": ["", "v", "v"], "commands": ["workbench.action.openSettingsJson"] }, + { "before": ["", "y", "o"], "commands": ["workbench.action.toggleZenMode"] } + ], + + // --- Language Specific Settings --- + "[css]": { "editor.tabSize": 2 }, + "[scss]": { "editor.tabSize": 2 }, + "[html]": { "editor.tabSize": 2 }, + "[javascript]": { "editor.tabSize": 2 }, + "[javascriptreact]": { "editor.tabSize": 2 }, + "[json]": { "editor.tabSize": 2 }, + "[typescript]": { "editor.tabSize": 2 }, + "[typescriptreact]": { "editor.tabSize": 2 }, + "[yaml]": { "editor.tabSize": 2 }, + "[go]": { "editor.insertSpaces": false, "editor.tabSize": 4 }, + "[markdown]": { "editor.wordWrap": "wordWrapColumn", "editor.wordWrapColumn": 55 }, + "[groovy]": { "editor.wordWrap": "off" }, + "[jenkinsfile]": { "editor.wordWrap": "off" } } \ No newline at end of file