require "nvchad.mappings" -- add yours here local map = vim.keymap.set -- map("n", ";", ":", { desc = "CMD enter command mode" }) map("i", "jk", "") -- map({ "n", "i", "v" }, "", " w ") -- Insert mode: paste from OS without autopairing map("i", "", "", { desc = "paste from OS without autopairing" }) -- Window management map("n", "wv", "v", { desc = "Split vertical" }) map("n", "ws", "s", { desc = "Split horizontal" }) map("n", "wo", "o", { desc = "Maximize split" }) map("n", "wc", "c", { desc = "Close split" }) map("n", "wx", "c", { desc = "Close split" }) map("n", "w=", "=", { desc = "Even splits" }) map("n", "h", "h", { desc = "Focus left split" }) map("n", "j", "j", { desc = "Focus lower split" }) map("n", "k", "k", { desc = "Focus upper split" }) map("n", "l", "l", { desc = "Focus right split" }) -- File operations map("n", "ee", ':e =expand("%:p:h" . "/" )', { desc = "Copy relative path to file" }) map("n", "er", ":!echo -n % | pbcopy", { desc = "Copy absolute path to file" }) map("n", "gn", ":Telescope resume", { desc = "Resume telescope" }) map("n", "eu", '!!python -c "import uuid; print(uuid.uuid4())"', { desc = "Drop fresh uuid4" }) -- Clipboard operations map("n", "", '"+y', { desc = "Copy to OS clipboard" }) -- Save map("n", ",,", ":w", { desc = "Save" }) map("n", " ", ":w", { desc = "Save" }) -- NvimTree Toggle map("n", "n", " NvimTreeToggle ", { desc = "Toggle NvimTree" }) -- Toggle line numbers map("n", "N", " set nu! ", { desc = "Toggle line number" }) -- Buffer operations map("n", "x", "bdelete", { desc = "Close Buffer and window" }) map("n", "X", "bdelete!", { desc = "Close Buffer and window!" }) map("n", "c", "Bdelete", { desc = "Close Buffer" }) map("n", "b", " Telescope buffers ", { desc = "Find buffers" }) -- Git operations map("n", "gb", "Gitsigns blame", { desc = "Git blame" }) map("n", "gB", "Gitsigns blame_line", { desc = "Git blame line" }) map("n", "gu", "diffget //2", { desc = "Select left in conflict" }) map("n", "gh", "diffget //3", { desc = "Select right in conflict" }) -- Floating diagnostics map("n", "ge", function() vim.diagnostic.open_float({ border = "rounded" }) end, { desc = "Floating diagnostic" }) -- Buffer navigation map("n", ",z", ":bnext", { desc = "Next buffer" }) map("n", ",v", ":bprevious", { desc = "Previous buffer" }) map("n", "z", function() require("nvchad.tabufline").tabuflineNext() end, { desc = "Goto next buffer" }) map("n", "v", function() require("nvchad.tabufline").tabuflinePrev() end, { desc = "Goto prev buffer" }) -- Neotest commands map("n", "tl", ":Neotest run last", { desc = "Neotest Run Last" }) map("n", "ts", ":Neotest summary", { desc = "Neotest Summary" }) map("n", "to", ":Neotest output", { desc = "Neotest Output" }) map("n", "ta", ":Neotest output-panel", { desc = "Neotest Output Panel" }) -- Visual Mode map("v", ">", ">gv", { desc = "Indent" }) map("v", "", '"+y', { desc = "Copy to OS clipboard" }) -- LSP map("n", "ls", ":LspInfo", { desc = "Show LSP info" }) map("n", "go", vim.lsp.buf.format, { desc = "LSP formatting" }) map("n", "gd", vim.lsp.buf.definition, { desc = "Go to definition" }) map("n", "gr", vim.lsp.buf.references, { desc = "Find references" }) map("n", "rn", vim.lsp.buf.rename, { desc = "Rename symbol" })