From 910e286dade871a35db74361288edf2fb6d69897 Mon Sep 17 00:00:00 2001 From: Pratik Tripathy Date: Mon, 13 Oct 2025 19:49:01 +0530 Subject: [PATCH] neovim: Keymap updates - new: `ctrl + ,` opens Neovim's `init.lua` - new: `]q` `[q` to traverse quickfix list - new: `cq` adds project diagnostics to quickfix list - remove: `` to apply setting changes; lazy doesn't support it - remove: `` to move lines; can move with `J`, `K` with visual selection by default --- common/.config/nvim/lua/config/keymaps.lua | 24 ++++++++-------------- 1 file changed, 9 insertions(+), 15 deletions(-) diff --git a/common/.config/nvim/lua/config/keymaps.lua b/common/.config/nvim/lua/config/keymaps.lua index 2132b06..2a5af15 100644 --- a/common/.config/nvim/lua/config/keymaps.lua +++ b/common/.config/nvim/lua/config/keymaps.lua @@ -1,18 +1,14 @@ -- Load Keybindings from VIM local sep = package.config:sub(1, 1) local vim_mappings = vim.loop.os_homedir() .. sep .. ".vim" .. sep .. "key_maps.vim" -local util = require("config.util") if vim.loop.fs_stat(vim_mappings) then vim.cmd("source " .. vim_mappings) end -vim.keymap.set({ "n" }, "", function() - vim.cmd("source " .. vim.fn.expand(vim.fn.stdpath("config") .. sep .. "init.lua")) -end, { desc = "Apply NVIM config changes" }) +vim.keymap.set({ "n" }, "", "edit " .. vim.fn.expand(vim.fn.stdpath("config")) .. sep .. "init.lua", { desc = "open neovim config" }) vim.keymap.set({ "n", "v" }, "y", '"+y', { desc = "Copy to system clipboard" }) vim.keymap.set({ "n", "v" }, "p", '"+p', { desc = "Paste from system clipboard" }) -vim.keymap.set({ "n" }, "", " %y+ ", { desc = "Copy entire content of the current buffer" }) -- Remap for dealing with word wrap vim.keymap.set({ "n", "x" }, "j", "v:count == 0 ? 'gj' : 'j'", { expr = true, silent = true }) @@ -30,12 +26,7 @@ vim.keymap.set("n", "", "resize -2", { desc = "Decrease window vim.keymap.set("n", "", "vertical resize -2", { desc = "Decrease window width" }) vim.keymap.set("n", "", "vertical resize +2", { desc = "Increase window width" }) --- Move Lines -vim.keymap.set("n", "", "m .+1==", { desc = "Move line down" }) -vim.keymap.set("n", "", "m .-2==", { desc = "Move line up" }) -vim.keymap.set("v", "", ":m '>+1gv=gv", { desc = "Move line down" }) -vim.keymap.set("v", "", ":m '<-2gv=gv", { desc = "Move line up" }) - +-- Auto add undo breakpoints at different points, while typing vim.keymap.set("i", "", "u", { desc = "Add undo breakpoint and delete last word" }) vim.keymap.set("i", ",", ",u", { desc = "Auto add undo breakpoints on ','" }) vim.keymap.set("i", ".", ".u", { desc = "Auto add undo breakpoints on '.'" }) @@ -60,6 +51,8 @@ vim.keymap.set({ "n", "v" }, "xb", function() vim.cmd("bdelete") end, { desc = "Save and close current buffer" }) +vim.keymap.set("n", "xt", "tabclose", { desc = "Close current tab" }) + -- Clear searches vim.keymap.set({ "i", "n" }, "", "noh", { desc = "Escape and clear hlsearch" }) @@ -77,16 +70,17 @@ local diagnostic_goto = function(next, severity) vim.cmd("normal! zz") end end -vim.keymap.set("n", "dc", vim.diagnostic.open_float, { desc = "Line Diagnostics" }) vim.keymap.set("n", "]d", diagnostic_goto(true), { desc = "Next Diagnostic" }) vim.keymap.set("n", "[d", diagnostic_goto(false), { desc = "Prev Diagnostic" }) vim.keymap.set("n", "]e", diagnostic_goto(true, "ERROR"), { desc = "Next Error" }) vim.keymap.set("n", "[e", diagnostic_goto(false, "ERROR"), { desc = "Prev Error" }) vim.keymap.set("n", "]w", diagnostic_goto(true, "WARN"), { desc = "Next Warning" }) vim.keymap.set("n", "[w", diagnostic_goto(false, "WARN"), { desc = "Prev Warning" }) - --- Close Tab -vim.keymap.set("n", "xt", "tabclose", { desc = "Close current tab" }) +vim.keymap.set("n", "]q", "cnextzz", { desc = "Quickfix: Next" }) +vim.keymap.set("n", "[q", "cprevzz", { desc = "Quickfix: Previous" }) +vim.keymap.set("n", "cq", function() + vim.diagnostic.setqflist() +end, { desc = "Project Diagnostics -> Quickfix" }) -- Center cursor vim.keymap.set("n", "n", "nzzzv")