Files

36 lines
1.2 KiB
Lua

return {
"kylechui/nvim-surround",
version = "*",
event = "VeryLazy",
init = function()
-- Disable default keymaps (we'll set custom ones)
vim.g.nvim_surround_no_mappings = true
end,
config = function()
require("nvim-surround").setup({
-- Configuration for surrounds, aliases, etc. can go here
})
-- Set custom keymaps (v4 method)
-- Add surrounding: Siw" -> surround word with quotes, Siw) -> (surround word)
vim.keymap.set("n", "S", "<Plug>(nvim-surround-normal)", {
desc = "Add surrounding",
})
-- Delete surrounding: SD" -> remove quotes, SD) -> remove parentheses
vim.keymap.set("n", "SD", "<Plug>(nvim-surround-delete)", {
desc = "Delete surrounding",
})
-- Change surrounding: SC"' -> change quotes to single quotes, SC)] -> change parens to brackets
vim.keymap.set("n", "SC", "<Plug>(nvim-surround-change)", {
desc = "Change surrounding",
})
-- Change surrounding on current line
vim.keymap.set("n", "SCL", "<Plug>(nvim-surround-change-line)", {
desc = "Change surrounding on current line",
})
-- Visual mode: select text and press S" -> surround selection with quotes
vim.keymap.set("v", "S", "<Plug>(nvim-surround-visual)", {
desc = "Add surrounding in visual mode",
})
end,
}