{ programs.nvf.settings.vim = { globals.mapleader = " "; binds = { whichKey = { enable = true; # TODO: registers register = {}; }; }; keymaps = [ # General Mappings { key = "s"; mode = "n"; silent = true; action = "lua require('flash').jump()"; desc = "Flash"; } { key = "K"; mode = "n"; silent = true; action = "lua vim.lsp.buf.hover()"; desc = "LSP Hover"; } { key = ""; mode = "n"; silent = true; action = "bnext"; desc = "Next Buffer"; } # Kitty navigator { key = ""; mode = "n"; silent = true; action = "KittyNavigateLeft"; } { key = ""; mode = "n"; silent = true; action = "KittyNavigateDown"; } { key = ""; mode = "n"; silent = true; action = "KittyNavigateUp"; } { key = ""; mode = "n"; silent = true; action = "KittyNavigateRight"; } # Disable Arrow Keys in Normal Mode { key = ""; mode = "n"; silent = true; action = ""; desc = "Disable Up Arrow"; } { key = ""; mode = "n"; silent = true; action = ""; desc = "Disable Down Arrow"; } { key = ""; mode = "n"; silent = true; action = ""; desc = "Disable Left Arrow"; } { key = ""; mode = "n"; silent = true; action = ""; desc = "Disable Right Arrow"; } # UI { key = "uw"; mode = "n"; silent = true; action = "set wrap!"; desc = "Toggle word wrapping"; } { key = "ul"; mode = "n"; silent = true; action = "set linebreak!"; desc = "Toggle linebreak"; } { key = "us"; mode = "n"; silent = true; action = "set spell!"; desc = "Toggle spellLazyGitcheck"; } { key = "uc"; mode = "n"; silent = true; action = "set cursorline!"; desc = "Toggle cursorline"; } { key = "un"; mode = "n"; silent = true; action = "set number!"; desc = "Toggle line numbers"; } { key = "ur"; mode = "n"; silent = true; action = "set relativenumber!"; desc = "Toggle relative line numbers"; } { key = "ut"; mode = "n"; silent = true; action = "set showtabline=2"; desc = "Show tabline"; } { key = "uT"; mode = "n"; silent = true; action = "set showtabline=0"; desc = "Hide tabline"; } # Windows { key = "ws"; mode = "n"; silent = true; action = "split"; desc = "Split"; } { key = "wv"; mode = "n"; silent = true; action = "vsplit"; desc = "VSplit"; } { key = "wd"; mode = "n"; silent = true; action = "close"; desc = "Close"; } ]; }; }