43 lines
2.2 KiB
Lua
43 lines
2.2 KiB
Lua
-- General Operations
|
|
vim.keymap.set("n", "<leader>w", "<cmd>write<cr>", { desc = "Save file" })
|
|
vim.keymap.set("n", "<leader>q", "<cmd>quitall<cr>", { desc = "Exit Neovim" })
|
|
|
|
-- marp configuration
|
|
vim.keymap.set("n", "<leader>MT", "<cmd>MarpToggle<cr>", { noremap = true, silent = true })
|
|
vim.keymap.set("n", "<leader>MS", "<cmd>MarpStatus<cr>", { noremap = true, silent = true })
|
|
|
|
-- Window Navigation
|
|
vim.keymap.set("n", "<leader>h", "<cmd>wincmd h<cr>", { desc = "Move to left split" })
|
|
vim.keymap.set("n", "<leader>l", "<cmd>wincmd l<cr>", { desc = "Move to right split" })
|
|
vim.keymap.set("n", "<leader>j", "<cmd>wincmd j<cr>", { desc = "Move to lower split" })
|
|
vim.keymap.set("n", "<leader>k", "<cmd>wincmd k<cr>", { desc = "Move to upper split" })
|
|
|
|
-- Search & Navigation (Mini Pick & Files)
|
|
vim.keymap.set("n", "<leader>e", "<cmd>lua MiniFiles.open()<cr>", { desc = "Open File Explorer" })
|
|
vim.keymap.set("n", "<leader><space>", "<cmd>Pick buffers<cr>", { desc = "Search open buffers" })
|
|
vim.keymap.set("n", "<leader>ff", "<cmd>Pick files<cr>", { desc = "Search all files" })
|
|
vim.keymap.set("n", "<leader>fh", "<cmd>Pick help<cr>", { desc = "Search help tags" })
|
|
|
|
-- Diagnostics Navigation
|
|
vim.keymap.set("n", "<leader>fd", "<cmd>Pick diagnostic<cr>", { desc = "Search all diagnostics" })
|
|
vim.keymap.set("n", "]d", vim.diagnostic.goto_next, { desc = "Next diagnostic" })
|
|
vim.keymap.set("n", "[d", vim.diagnostic.goto_prev, { desc = "Previous diagnostic" })
|
|
vim.keymap.set("n", "]e", function()
|
|
vim.diagnostic.goto_next({ severity = vim.diagnostic.severity.ERROR })
|
|
end, { desc = "Next error" })
|
|
vim.keymap.set("n", "[e", function()
|
|
vim.diagnostic.goto_prev({ severity = vim.diagnostic.severity.ERROR })
|
|
end, { desc = "Previous error" })
|
|
|
|
-- Dynamic LSP Keymaps (Loaded only when LSP attaches to a buffer)
|
|
vim.api.nvim_create_autocmd("LspAttach", {
|
|
callback = function(event)
|
|
local opts = { buffer = event.buf }
|
|
vim.keymap.set("n", "K", vim.lsp.buf.hover, opts)
|
|
vim.keymap.set("n", "gd", vim.lsp.buf.definition, opts)
|
|
vim.keymap.set("n", "<leader>rn", vim.lsp.buf.rename, opts)
|
|
vim.keymap.set("n", "<leader>ca", vim.lsp.buf.code_action, opts)
|
|
vim.keymap.set("n", "gr", vim.lsp.buf.references, opts)
|
|
end,
|
|
})
|