-- Enhanced search and replace functionality return { -- Better search highlighting with match counts -- Shows "X/Y" match indicator and improves n/N navigation { "kevinhwang91/nvim-hlslens", event = "VeryLazy", enabled = true, -- Set to false to disable keys = { { "n", [[execute('normal! ' . v:count1 . 'n')lua require('hlslens').start()]], desc = "Next search result" }, { "N", [[execute('normal! ' . v:count1 . 'N')lua require('hlslens').start()]], desc = "Previous search result" }, { "*", [[*lua require('hlslens').start()]], desc = "Search word under cursor" }, { "#", [[#lua require('hlslens').start()]], desc = "Search word under cursor (backward)" }, { "g*", [[g*lua require('hlslens').start()]], desc = "Search word under cursor (no boundary)" }, { "g#", [[g#lua require('hlslens').start()]], desc = "Search word under cursor (no boundary, backward)" }, }, opts = { calm_down = true, nearest_only = true, nearest_float_when = "always", }, }, -- Advanced search and replace with multiple strategies -- Provides visual search/replace interface -- Use :SearchReplaceSingleBuffer, :SearchReplaceMultiBuffer { "roobert/search-replace.nvim", cmd = { "SearchReplaceSingleBuffer", "SearchReplaceMultiBuffer", "SearchReplaceWithinVisualSelection", "SearchReplaceWithinVisualSelectionCWord", }, enabled = true, -- Set to false to disable opts = { default_replace_single_buffer_options = "gcI", default_replace_multi_buffer_options = "egcI", }, keys = { -- Single buffer replacements { "rs", "SearchReplaceSingleBufferSelections", desc = "Search/Replace Selections", mode = "v" }, { "ro", "SearchReplaceSingleBufferOpen", desc = "Search/Replace Open" }, { "rw", "SearchReplaceSingleBufferCWord", desc = "Search/Replace Word" }, { "rW", "SearchReplaceSingleBufferCWORD", desc = "Search/Replace WORD" }, { "re", "SearchReplaceSingleBufferCExpr", desc = "Search/Replace Expr" }, { "rf", "SearchReplaceSingleBufferCFile", desc = "Search/Replace File" }, -- Multi buffer replacements { "rbs", "SearchReplaceMultiBufferSelections", desc = "Search/Replace Selections (Multi)", mode = "v" }, { "rbo", "SearchReplaceMultiBufferOpen", desc = "Search/Replace Open (Multi)" }, { "rbw", "SearchReplaceMultiBufferCWord", desc = "Search/Replace Word (Multi)" }, { "rbW", "SearchReplaceMultiBufferCWORD", desc = "Search/Replace WORD (Multi)" }, { "rbe", "SearchReplaceMultiBufferCExpr", desc = "Search/Replace Expr (Multi)" }, { "rbf", "SearchReplaceMultiBufferCFile", desc = "Search/Replace File (Multi)" }, }, }, }