several improvements
This commit is contained in:
@@ -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,3 +1,4 @@
|
|||||||
require("nami.lazy")
|
require("nami.lazy")
|
||||||
require("nami.remap")
|
require("nami.remap")
|
||||||
|
require("nami.autocmd")
|
||||||
require("nami.set")
|
require("nami.set")
|
||||||
|
|||||||
+13
-7
@@ -38,18 +38,23 @@ local plugins = {
|
|||||||
dependencies = { "nvim-lua/plenary.nvim" }
|
dependencies = { "nvim-lua/plenary.nvim" }
|
||||||
},
|
},
|
||||||
"mbbill/undotree",
|
"mbbill/undotree",
|
||||||
"tpope/vim-fugitive",
|
{
|
||||||
"subnut/nvim-ghost.nvim",
|
"tpope/vim-fugitive",
|
||||||
-- "unblevable/quick-scope",
|
lazy = true
|
||||||
"andweeb/presence.nvim",
|
},
|
||||||
|
{
|
||||||
|
"subnut/nvim-ghost.nvim",
|
||||||
|
lazy = true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"andweeb/presence.nvim",
|
||||||
|
lazy = true
|
||||||
|
},
|
||||||
"numToStr/Comment.nvim",
|
"numToStr/Comment.nvim",
|
||||||
-- "echasnovski/mini.align",
|
|
||||||
{
|
{
|
||||||
'stevearc/oil.nvim',
|
'stevearc/oil.nvim',
|
||||||
-- Optional dependencies
|
|
||||||
dependencies = { { "nvim-mini/mini.icons", opts = {} } },
|
dependencies = { { "nvim-mini/mini.icons", opts = {} } },
|
||||||
-- dependencies = { "nvim-tree/nvim-web-devicons" }, -- use if you prefer nvim-web-devicons
|
-- 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,
|
lazy = false,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -76,6 +81,7 @@ local plugins = {
|
|||||||
dependencies = {
|
dependencies = {
|
||||||
"nvim-lua/plenary.nvim",
|
"nvim-lua/plenary.nvim",
|
||||||
},
|
},
|
||||||
|
lazy = true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"goolord/alpha-nvim",
|
"goolord/alpha-nvim",
|
||||||
|
|||||||
+4
-1
@@ -24,7 +24,8 @@ vim.keymap.set("n", "n", "nzzzv")
|
|||||||
vim.keymap.set("n", "N", "Nzzzv")
|
vim.keymap.set("n", "N", "Nzzzv")
|
||||||
|
|
||||||
-- greatest remap ever
|
-- 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
|
-- next greatest remap ever : asbjornHaland
|
||||||
-- to void register (system)
|
-- to void register (system)
|
||||||
@@ -106,3 +107,5 @@ end
|
|||||||
-- the QF list
|
-- the QF list
|
||||||
vim.keymap.set("n", "dd", del_qf_item, { silent = true, buffer = true, desc = "Remove entry from QF" })
|
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("v", "D", del_qf_item, { silent = true, buffer = true, desc = "Remove entry from QF" })
|
||||||
|
|
||||||
|
vim.keymap.set("n", "<C-q>", "<cmd>copen<CR>");
|
||||||
|
|||||||
Reference in New Issue
Block a user