home/dot_config/nvim/lua/plugins/which-key.lua
2025-04-14 17:33:00 +02:00

56 lines
1.7 KiB
Lua

-- Configuration for which-key
return {
{
"folke/which-key.nvim",
event = "VeryLazy",
opts = {
preset = "helix",
spec = {
-- Groups
{ "<leader>f", group = "file" },
{ "<leader>b", group = "buffer" },
{ "<leader>c", group = "code" },
{ "<leader>g", group = "vc" },
{ "<leader>s", group = "search" },
{ "<leader>,", group = "vim" },
{ "<leader>q", group = "quit" },
-- Buffer navigation
{ "<leader>bb", "<cmd>e #<cr>", desc = "Switch to other buffer", mode = "n", proxy = "<leader>`" },
{ "<leader>bd", "<cmd>bd<cr>", desc = "Delete buffer", mode = "n" },
{ "<leader>bn", "<cmd>bn<cr>", desc = "Next buffer", mode = "n", proxy = "<S-l>" },
{ "<leader>bp", "<cmd>bp<cr>", desc = "Previous buffer", mode = "n", proxy = "<S-h>" },
-- Better indentation
{ "<", "<gv", mode = "v" },
{ ">", ">gv", mode = "v" },
-- Windows
{ "<leader>ws", "<C-W>s", desc = "Split window below" },
{ "<leader>wv", "<C-W>v", desc = "Split window right" },
{ "<leader>wq", "<C-W>c", desc = "Close window" },
{ "<leader>wO", "<C-W>o", desc = "Close other windows" },
-- Quitting
{ "<leader>qq", "<cmd>qa<cr>", desc = "Quit all" },
-- Lazy
{ "<leader>l", "<cmd>Lazy<cr>", mode = "n", desc = "Lazy" },
-- Mason
{ "<leader>cm", "<cmd>Mason<cr>", mode = "n", desc = "Mason" },
-- Clear search on escape
{
"<esc>",
function()
vim.cmd("noh")
return "<esc>"
end,
expr = true,
},
},
},
},
}