Files
lua-nvim/lua/cargdev/plugins/vim-visual-multi.lua

45 lines
1.8 KiB
Lua

-- ============================================================================
-- VIM-VISUAL-MULTI: Multiple cursors like VS Code
-- ============================================================================
-- Select multiple occurrences and edit them simultaneously. <C-d> to select
-- word under cursor (like VS Code), <C-Down/Up> to add cursors vertically.
-- q to skip, Q to remove cursor. Vimscript plugin with some verbose log noise.
-- ============================================================================
return {
"mg979/vim-visual-multi",
branch = "master",
event = { "BufReadPost", "BufNewFile" },
init = function()
-- Configuration must be set before plugin loads
vim.g.VM_default_mappings = 1
vim.g.VM_mouse_mappings = 1
vim.g.VM_theme = "iceblue"
-- Only set PERMANENT mappings here to avoid E716 errors
-- Buffer mappings (Skip Region, Remove Region, Undo, Redo) use plugin defaults
vim.g.VM_maps = {
["Find Under"] = "<C-d>", -- Like VS Code Ctrl+D
["Find Subword Under"] = "<C-d>", -- Like VS Code Ctrl+D
["Select All"] = "<C-S-l>", -- Like VS Code Ctrl+Shift+L
["Add Cursor Down"] = "<C-Down>", -- Like VS Code
["Add Cursor Up"] = "<C-Up>", -- Like VS Code
["Select Cursor Down"] = "", -- Disable (reserved for buffer navigation)
["Select Cursor Up"] = "", -- Disable (reserved for buffer navigation)
}
-- Highlight settings
vim.g.VM_Mono_hl = "DiffText"
vim.g.VM_Extend_hl = "DiffAdd"
vim.g.VM_Cursor_hl = "Visual"
vim.g.VM_Insert_hl = "DiffChange"
-- Other settings
vim.g.VM_leader = "\\"
vim.g.VM_show_warnings = 1
vim.g.VM_silent_exit = 0
vim.g.VM_quit_after_leaving_insert_mode = 0
vim.g.VM_skip_empty_lines = 1
vim.g.VM_case_setting = "smart"
end,
}