diff --git a/home/codium.nix b/home/codium.nix index f6c9a04..945087f 100644 --- a/home/codium.nix +++ b/home/codium.nix @@ -17,28 +17,92 @@ rust-lang.rust-analyzer shd101wyy.markdown-preview-enhanced fwcd.kotlin + alefragnani.bookmarks + tomrijndorp.find-it-faster ]; userSettings = { "workbench.colorTheme" = "GitHub Dark Default"; - "files.autoSave" = "afterDelay"; + "files.autoSave" = "onFocusChange"; "nix.enableLanguageServer" = true; "nix.serverPath" = "nil"; "editor.fontFamily" = "IBM Plex Mono"; - "editor.fontSize" = 16; - "editor.wordWrap" = "on"; + "editor.fontSize" = 15; + "window.zoomLevel" = 0.5; # vim mode settings - "vim.handleKeys" = { - "" = false; # file tree toggle - }; + "vim.leader" = ","; "vim.normalModeKeyBindings" = [ { "before" = [ ";" ]; "after" = [ ":" ]; "silent" = true; } + { + "before" = [ "" "m" ]; + "commands" = [ "bookmarks.toggle" ]; + } + { + "before" = [ "" "l" ]; + "commands" = [ "bookmarks.toggleLabeled" ]; + } + { + "before" = [ "" "b" ]; + "commands" = [ "bookmarks.list" ]; + } + { + "before" = [ "" "s" ]; + "commands" = [ "workbench.action.toggleSidebarVisibility" ]; + } + { + "before" = [ "" "f" "f" ]; + "commands" = [ "find-it-faster.findFiles" ]; + } + { + "before" = [ "" "f" "g"]; + "commands" = [ "find-it-faster.findWithinFiles"]; + } + { + "before" = [ "" "f" "t"]; + "commands" = [ "find-it-faster.findWithinFilesWithType"]; + } ]; + "vim.insertModeKeyBindings" = [ + { + "before" = [ "C-a" ]; + "commands" = [ "cursorHome" ]; + } + { + "before" = [ "C-e" ]; + "commands" = [ "cursorEnd" ]; + } + ]; + "vim.visualModeKeyBindings" = [ + { + "before" = [ ">" ]; + "commands" = [ "editor.action.indentLines" ]; + } + { + "before" = [ "<" ]; + "commands" = [ "editor.action.outdentLines" ]; + } + ]; + "extensions.experimental.affinity" = { + "vscodevim.vim" = 1; + }; "workbench.startupEditor" = "none"; + "git.openRepositoryInParentFolders" = "never"; + + # terminal stuff + "terminal.integrated.cursorBlinking" = true; + "terminal.integrated.cursorStyle" = "line"; + "terminal.integrated.customGlyphs" = false; + "terminal.integrated.env.linux" = { + # https://github.com/tomrijndorp/vscode-finditfaster/issues/112#issuecomment-2475227546 + FZF_DEFAULT_OPTS = "--bind ctrl-n:down,ctrl-p:up"; + }; + # don't let the workbench handle terminal keys like ctrl+n and friends + "terminal.integrated.sendKeybindingsToShell" = true; + "terminal.integrated.allowChords" = false; }; }; };