diff --git a/stow-packages/nvim/.config/nvim/lua/plugins/astrocore.lua b/stow-packages/nvim/.config/nvim/lua/plugins/astrocore.lua index ad64f4a..221dda9 100644 --- a/stow-packages/nvim/.config/nvim/lua/plugins/astrocore.lua +++ b/stow-packages/nvim/.config/nvim/lua/plugins/astrocore.lua @@ -79,6 +79,9 @@ return { -- Toggle file explorer (tree-sitter) with current file focused ["E"] = { "Neotree focus reveal", desc = "Toggle Explorer w/ file focused" }, + + -- Project-wide find-and-replace via Spectre + ["fg"] = { "lua require(\"spectre\").toggle()", desc = "Find and replace in all files" }, }, v = { [""] = { "gV" }, @@ -86,6 +89,9 @@ return { -- Move selected lines around with Alt+j/Alt+k [""] = { ":m'>+`mzgv`yo`z" }, [""] = { ":m'<-2`>my`fg"] = { "lua require(\"spectre\").open_visual()", desc = "Find and replace highlighted string in all files" }, }, o = { [""] = { "" }, diff --git a/stow-packages/nvim/.config/nvim/lua/plugins/user.lua b/stow-packages/nvim/.config/nvim/lua/plugins/user.lua index a237f6f..6397884 100644 --- a/stow-packages/nvim/.config/nvim/lua/plugins/user.lua +++ b/stow-packages/nvim/.config/nvim/lua/plugins/user.lua @@ -18,5 +18,30 @@ return { { "tpope/vim-rhubarb", event = "VeryLazy", + }, + { + "nvim-pack/nvim-spectre", + event = "VeryLazy", + opts = { + replace_engine = { + ["sed"] = { + cmd = "sed", + args = { + "-i", + "", + "-E", + }, + }, + }, + default = { + find = { + cmd = "ag", + options = { "hidden" } + }, + replace = { + cmd = "sed" + } + }, + } } }