diff --git a/.config/nvim/lazyvim.json b/.config/nvim/lazyvim.json index 3a00bafd..773e82a4 100644 --- a/.config/nvim/lazyvim.json +++ b/.config/nvim/lazyvim.json @@ -46,6 +46,7 @@ "plugins.extras.editor.rayso", "plugins.extras.editor.regex", "plugins.extras.editor.rest-client", + "plugins.extras.editor.search-replace", "plugins.extras.editor.smart-splits", "plugins.extras.editor.suda", "plugins.extras.editor.telescope.repo", diff --git a/.config/nvim/lua/plugins/extras/editor/search-replace.lua b/.config/nvim/lua/plugins/extras/editor/search-replace.lua new file mode 100644 index 00000000..8d80c024 --- /dev/null +++ b/.config/nvim/lua/plugins/extras/editor/search-replace.lua @@ -0,0 +1,23 @@ +return { + "roobert/search-replace.nvim", + opts = { + default_replace_single_buffer_options = "gcI", + default_replace_multi_buffer_options = "egcI", + }, + -- stylua: ignore + keys = { + { "", "SearchReplaceSingleBufferVisualSelection", desc = "Search and Replace in Visual Selection", mode = "v" }, + { "", "SearchReplaceWithinVisualSelection", desc = "Search and Replace Within Visual Selection", mode = "v" }, + { "", "SearchReplaceWithinVisualSelectionCWord", desc = "Search and Replace Within Visual Selection (Current Word)", mode = "v" }, + + { "srw", "SearchReplaceSingleBufferSelections", desc = "Word on Buffer", mode = "n" }, + { "srb", "SearchReplaceSingleBufferOpen", desc = "Buffer", mode = "n" }, + + -- { "n", "rbs", "SearchReplaceMultiBufferSelections", desc = "Search and Replace in Multi Buffer Selections" }, + -- { "n", "rbo", "SearchReplaceMultiBufferOpen", desc = "Search and Replace in Multi Buffer, Open" }, + -- { "n", "rbw", "SearchReplaceMultiBufferCWord", desc = "Search and Replace in Multi Buffer (Current Word)" }, + -- { "n", "rbW", "SearchReplaceMultiBufferCWORD", desc = "Search and Replace in Multi Buffer (Current WORD)" }, + -- { "n", "rbe", "SearchReplaceMultiBufferCExpr", desc = "Search and Replace in Multi Buffer (Current Expression)" }, + -- { "n", "rbf", "SearchReplaceMultiBufferCFile", desc = "Search and Replace in Multi Buffer (Current File)" }, + }, +} diff --git a/.config/nvim/lua/plugins/spectre.lua b/.config/nvim/lua/plugins/spectre.lua index 47f7fa4b..14c33975 100644 --- a/.config/nvim/lua/plugins/spectre.lua +++ b/.config/nvim/lua/plugins/spectre.lua @@ -3,46 +3,11 @@ return { "nvim-pack/nvim-spectre", cmd = "Spectre", opts = {}, + -- stylua: ignore keys = { - { - "srf", - function() - require("spectre").toggle() - end, - desc = "Search globally", - }, - { - "srw", - mode = { "n" }, - function() - require("spectre").open_visual({ select_word = true }) - end, - desc = "Current Word", - }, - { - "srw", - mode = { "v" }, - function() - require("spectre").open_visual() - end, - desc = "Current Word", - }, - { - "srW", - mode = { "n" }, - function() - require("spectre").open_file_search({ select_word = true }) - end, - desc = "Word on Current File", - }, - { - "src", - mode = { "n" }, - function() - require("spectre").open_file_search({}) - end, - desc = "Current File", - }, + { "srg", function() require("spectre").toggle() end, desc = "Globally" }, + { "srW", mode = { "n" }, function() require("spectre").open_visual({ select_word = true }) end, desc = "Word Globally" }, + { "srW", mode = { "v" }, function() require("spectre").open_visual() end, desc = "Word Globally" }, }, }, {