Files
AstroVim_Config/lua/plugins/multiple.lua
2025-01-19 12:00:28 +07:00

50 lines
1.7 KiB
Lua

return {
{
"brenton-leighton/multiple-cursors.nvim",
event = "BufRead",
cmd = {
"MultipleCursorsAddDown",
"MultipleCursorsAddUp",
"MultipleCursorsMouseAddDelete",
"MultipleCursorsAddMatches",
"MultipleCursorsAddMatchesV",
"MultipleCursorsAddJumpNextMatch",
"MultipleCursorsJumpNextMatch",
"MultipleCursorsLock",
},
dependencies = {
"AstroNvim/astrocore",
opts = function(_, opts)
local maps = opts.mappings
for lhs, map in pairs {
["<C-Down>"] = { "<Cmd>MultipleCursorsAddDown<CR>", desc = "Add cursor down" },
["<C-Up>"] = { "<Cmd>MultipleCursorsAddUp<CR>", desc = "Add cursor up" },
["<C-LeftMouse>"] = { "<Cmd>MultipleCursorsMouseAddDelete<CR>", desc = "Add cursor with mouse" },
} do
maps.n[lhs] = map
maps.i[lhs] = map
end
local prefix = "<Leader>c"
for lhs, map in pairs {
[prefix .. "a"] = { "<Cmd>MultipleCursorsAddMatches<CR>", desc = "Add cursor matches" },
[prefix .. "A"] = {
"<Cmd>MultipleCursorsAddMatchesV<CR>",
desc = "Add cursor matches in previous visual area",
},
[prefix .. "j"] = { "<Cmd>MultipleCursorsAddJumpNextMatch<CR>", desc = "Add cursor and jump to next match" },
[prefix .. "J"] = { "<Cmd>MultipleCursorsJumpNextMatch<CR>", desc = "Move cursor to next match" },
[prefix .. "l"] = { "<Cmd>MultipleCursorsLock<CR>", desc = "Lock virtual cursors" },
} do
maps.n[lhs] = map
maps.x[lhs] = map
end
end,
},
opts = {},
},
{
"mg979/vim-visual-multi",
event = "BufRead",
},
}