{ plugins.which-key = { enable = true; icons.mappings = false; }; keymaps = [ # Open { mode = [ "n" ]; key = "od"; action = "vsplit | lua vim.lsp.buf.definition()"; options.desc = "Go to definition in other window"; } # Buffer { mode = [ "n" ]; key = "bn"; action = "bn"; options.desc = "Move to next buffer"; } { mode = [ "n" ]; key = "bp"; action = "bp"; options.desc = "Move to previous buffer"; } { mode = [ "n" ]; key = "bk"; action = "bn"; options.desc = "Kill buffer and window"; } # File { mode = [ "n" ]; key = "fn"; action = "enew"; options.desc = "Create a new file"; } { mode = [ "n" ]; key = "fs"; action = "w"; options.desc = "Save currently opened file"; } # Quit { mode = [ "n" ]; key = "qq"; action = "qa!"; options.desc = "Leave neovim"; } # Window { mode = [ "n" ]; key = "w+"; action = ":vertical resize +4"; options.desc = "Increase window size"; } { mode = [ "n" ]; key = "w-"; action = ":vertical resize -4"; options.desc = "Decrease window size"; } { mode = [ "n" ]; key = "wx"; action = ":bd"; options.desc = "Kill active window and buffer"; } { mode = [ "n" ]; key = "wh"; action = "h"; options.desc = "Move to window on left"; } { mode = [ "n" ]; key = "wj"; action = "j"; options.desc = "Move to window on bottom"; } { mode = [ "n" ]; key = "wk"; action = "k"; options.desc = "Move to window on top"; } { mode = [ "n" ]; key = "wl"; action = "l"; options.desc = "Move to window on right"; } { mode = [ "n" ]; key = "ws"; action = "sp"; options.desc = "Split windows horizontally"; } { mode = [ "n" ]; key = "wv"; action = "vsp"; options.desc = "Split windows vertically"; } { mode = [ "n" ]; key = "wd"; action = "close"; options.desc = "Delete window only"; } ]; }