several improvements

This commit is contained in:
2026-06-09 18:41:15 +02:00
parent c9e6f0ca29
commit 9f6741d9fa
4 changed files with 97 additions and 8 deletions
+79
View File
@@ -0,0 +1,79 @@
local custom_group = vim.api.nvim_create_augroup('custom', { clear = true })
vim.api.nvim_create_autocmd('TextYankPost', {
group = custom_group,
pattern = '*',
callback = function()
vim.highlight.on_yank({
higroup = 'Visual',
timeout = 100,
})
end,
desc = 'Highlight on yank',
})
-- Remove items from quickfix list.
-- `dd` to delete in Normal
-- `d` to delete Visual selection
local function delete_qf_items()
local mode = vim.api.nvim_get_mode()['mode']
local start_idx
local count
if mode == 'n' then
-- Normal mode
start_idx = vim.fn.line('.')
count = vim.v.count > 0 and vim.v.count or 1
else
-- Visual mode
local v_start_idx = vim.fn.line('v')
local v_end_idx = vim.fn.line('.')
start_idx = math.min(v_start_idx, v_end_idx)
count = math.abs(v_end_idx - v_start_idx) + 1
-- Go back to normal
vim.api.nvim_feedkeys(
vim.api.nvim_replace_termcodes(
'<esc>', -- what to escape
true, -- Vim leftovers
false, -- Also replace `<lt>`?
true -- Replace keycodes (like `<esc>`)?
),
'x', -- Mode flag
false -- Should be false, since we already `nvim_replace_termcodes()`
)
end
local qflist = vim.fn.getqflist()
for _ = 1, count, 1 do
table.remove(qflist, start_idx)
end
vim.fn.setqflist(qflist, 'r')
vim.fn.cursor(start_idx, 1)
end
vim.api.nvim_create_autocmd('FileType', {
group = custom_group,
pattern = 'qf',
callback = function()
-- Do not show quickfix in buffer lists.
vim.api.nvim_buf_set_option(0, 'buflisted', false)
-- Escape closes quickfix window.
vim.keymap.set(
'n',
'<ESC>',
'<CMD>cclose<CR>',
{ buffer = true, remap = false, silent = true }
)
-- `dd` deletes an item from the list.
vim.keymap.set('n', 'dd', delete_qf_items, { buffer = true })
vim.keymap.set('x', 'd', delete_qf_items, { buffer = true })
end,
desc = 'Quickfix tweaks',
})
+1
View File
@@ -1,3 +1,4 @@
require("nami.lazy")
require("nami.remap")
require("nami.autocmd")
require("nami.set")
+10 -4
View File
@@ -38,18 +38,23 @@ local plugins = {
dependencies = { "nvim-lua/plenary.nvim" }
},
"mbbill/undotree",
{
"tpope/vim-fugitive",
lazy = true
},
{
"subnut/nvim-ghost.nvim",
-- "unblevable/quick-scope",
lazy = true
},
{
"andweeb/presence.nvim",
lazy = true
},
"numToStr/Comment.nvim",
-- "echasnovski/mini.align",
{
'stevearc/oil.nvim',
-- Optional dependencies
dependencies = { { "nvim-mini/mini.icons", opts = {} } },
-- dependencies = { "nvim-tree/nvim-web-devicons" }, -- use if you prefer nvim-web-devicons
-- Lazy loading is not recommended because it is very tricky to make it work correctly in all situations.
lazy = false,
},
{
@@ -76,6 +81,7 @@ local plugins = {
dependencies = {
"nvim-lua/plenary.nvim",
},
lazy = true
},
{
"goolord/alpha-nvim",
+4 -1
View File
@@ -24,7 +24,8 @@ vim.keymap.set("n", "n", "nzzzv")
vim.keymap.set("n", "N", "Nzzzv")
-- greatest remap ever
vim.keymap.set("x", "<leader>p", "\"_dP")
vim.keymap.set("x", "<leader>P", "\"_dP")
vim.keymap.set("x", "<leader>p", "\"_dp")
-- next greatest remap ever : asbjornHaland
-- to void register (system)
@@ -106,3 +107,5 @@ end
-- the QF list
vim.keymap.set("n", "dd", del_qf_item, { silent = true, buffer = true, desc = "Remove entry from QF" })
vim.keymap.set("v", "D", del_qf_item, { silent = true, buffer = true, desc = "Remove entry from QF" })
vim.keymap.set("n", "<C-q>", "<cmd>copen<CR>");