vim.keymap.set("n", "c", "c", { noremap = true, silent = true, desc = "Close window" }) vim.keymap.set("n", "o", "o", { noremap = true, silent = true, desc = "Close other windows" }) -- z means laZy (plugin manager) vim.keymap.set("n", "z", ":Lazy", { noremap = true, silent = true, desc = "Open Lazy.nvim" }) -- LSP binds -- default gd searches only in current buffer as a keyword vim.keymap.set("n", "gd", vim.lsp.buf.definition, { noremap = true, silent = true, desc = "Open definition" }) -- Fugitive shortcuts vim.keymap.set( "n", "gd", ":Gvdiffsplit", { noremap = true, silent = true, desc = "Git diff (unstaged changes)" } ) vim.keymap.set( "n", "gD", ":Gvdiffsplit HEAD", { noremap = true, silent = true, desc = "Git diff (all changes after HEAD)" } ) vim.keymap.set("n", "gs", ":Git", { noremap = true, silent = true, desc = "Git status" }) vim.keymap.set("n", "gb", ":Git blame", { noremap = true, silent = true, desc = "Git blame" }) vim.keymap.set("n", "gl", ":Git log", { noremap = true, silent = true, desc = "Git log" }) vim.keymap.set("n", "gL", ":0Gclog", { noremap = true, silent = true, desc = "Git log: this file" }) vim.keymap.set("n", "ge", ":Gedit", { noremap = true, silent = true, desc = "Git: return to worktree" }) vim.keymap.set("n", "go", ":GBrowse", { noremap = true, silent = true, desc = "Git: open in browser" }) vim.keymap.set( "n", "e", ":lua MiniFiles.open(vim.api.nvim_buf_get_name(0), false)", { noremap = true, silent = true, desc = "File Explorer" } ) vim.keymap.set("n", "aa", ":argadd:argdedupe", { noremap = true, silent = true, desc = "Add to args" }) vim.keymap.set("n", "ad", ":argdelete %", { noremap = true, silent = true, desc = "Delete from args" }) vim.keymap.set("n", "lr", ":lsp restart", { noremap = true, silent = true, desc = "LSP: restart" }) vim.keymap.set("n", "ld", ":lsp disable", { noremap = true, silent = true, desc = "LSP: stop" }) vim.keymap.set("n", "le", ":lsp enable", { noremap = true, silent = true, desc = "LSP: start" }) vim.keymap.set("n", "li", ":checkhealth vim.lsp", { noremap = true, silent = true, desc = "LSP: info" }) vim.keymap.set("n", "fm", require("conform").format, { noremap = true, silent = true, desc = "Format code" })