{ lib, ... }: { programs.nixvim = { keymaps = let normal = lib.mapAttrsToList ( key: action: { mode = "n"; inherit action key; } ) { "" = ""; "" = ":noh"; "Y" = "y$"; "" = ":b#"; "" = ":close"; "s" = ":w"; "" = ":w"; "h" = "h"; "l" = "l"; "L" = "$"; "H" = "^"; "" = ":resize -2"; "" = ":resize +2"; "" = ":vertical resize +2"; "" = ":vertical resize -2"; "" = ":move-2"; "" = ":move+"; }; visual = lib.mapAttrsToList ( key: action: { mode = "v"; inherit action key; } ) { ">" = ">gv"; "<" = "" = ">gv"; "" = "