vim.o.timeout = true vim.o.timeoutlen = 500 -- Delete require("which-key").add({ { "<leader>d", group = "delete" }, { "<leader>db", "<cmd>bd<cr>", desc = "Delete buffer" }, { "<leader>dw", "<C-w>c", desc = "Delete window" }, }) -- buffer require("which-key").add({ { "[b", "<cmd>bprevious<cr>", desc = "Previous buffer" }, { "]b", "<cmd>bnext<cr>", desc = "Next buffer" }, }) -- window require("which-key").add({ { "<leader>w", group = "window" }, { "<leader>w-", "<C-w>s", desc = "Split window vertically" }, { "<leader>ww", "<C-w>w", desc = "Switch window" }, { "<leader>w|", "<C-w>v", desc = "Split window horizontally" }, }) -- better descriptions for navigation require("which-key").add({ { "<leader>c", group = "code" }, { "<leader>f", group = "file/find" }, { "<leader>g", group = "git" }, { "<leader>s", group = "search" }, { "<leader>t", group = "toggle" }, { "[", group = "prev" }, { "]", group = "next" }, { "g", group = "goto" }, }) -- Clear search with <esc> require("which-key").add({ { "<esc>", "<cmd>noh<cr><esc>", desc = "Escape and clear hlsearch", mode = { "i", "n" } }, }) -- better indenting require("which-key").add({ { "<", "<gv", desc = "Shift left", mode = "v" }, { ">", ">gv", desc = "Shift right", mode = "v" }, }) -- better yank in visual mode require("which-key").add({ { "y", "ygv<esc>", desc = "Yank", mode = "v" }, })