From 1a0651a8961eb5dd4a1cc95898f3463606f5bd1d Mon Sep 17 00:00:00 2001 From: cjurgell Date: Tue, 3 Jun 2025 11:59:56 -0500 Subject: [PATCH] allow dd in qf --- nvim/lua/config/init.lua | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/nvim/lua/config/init.lua b/nvim/lua/config/init.lua index 98ae067..10ebd2a 100644 --- a/nvim/lua/config/init.lua +++ b/nvim/lua/config/init.lua @@ -57,6 +57,23 @@ vim.diagnostic.config { }, } +-- Allow basic deletion in qflist +vim.api.nvim_create_autocmd({ 'FileType' }, { + pattern = "qf", + callback = function() + vim.keymap.set({ "n", "i" }, 'dd', function() + local ln = vim.fn.line('.') + local qf = vim.fn.getqflist() + if #qf == 0 then return end + table.remove(qf, ln) + vim.fn.setqflist(qf, 'r') + vim.cmd('copen') + -- move cursor to stay at same index (or up one if at EOF) + vim.api.nvim_win_set_cursor(vim.fn.win_getid(), { ln < #qf and ln or math.max(ln - 1, 1), 0 }) + end, { buffer = true }) + end, +}) + -- random keymaps vim.keymap.set({ 'v', 'i' }, 'wq', 'l', { noremap = true, silent = true }) vim.keymap.set('n', '', vim.cmd.bnext, { noremap = true, silent = true })