diff --git a/.config/nvim/lua/config/keymaps.lua b/.config/nvim/lua/config/keymaps.lua index 9cb5ddc5..0062a7e6 100644 --- a/.config/nvim/lua/config/keymaps.lua +++ b/.config/nvim/lua/config/keymaps.lua @@ -50,8 +50,8 @@ map({ "n", "x", "v" }, "", "", { remap = true }) map({ "n", "x", "v" }, "", "", { remap = true }) map({ "n" }, "", "[b", { desc = "Previous Buffer", remap = true }) map({ "n" }, "", "]b", { desc = "Next Buffer", remap = true }) -map({ "n" }, "", "5j", { remap = true }) -map({ "n" }, "", "5k", { remap = true }) +-- map({ "n" }, "", "5j", { remap = true }) +-- map({ "n" }, "", "5k", { remap = true }) map({ "i" }, "", "", { desc = "Escape insert mode", remap = true }) -- better navigation diff --git a/.config/nvim/lua/plugins/grug-far.lua b/.config/nvim/lua/plugins/grug-far.lua new file mode 100644 index 00000000..27f09850 --- /dev/null +++ b/.config/nvim/lua/plugins/grug-far.lua @@ -0,0 +1,47 @@ +return { + "MagicDuck/grug-far.nvim", + opts = { + headerMaxWidth = 80, + keymaps = { + replace = { n = "r" }, + qflist = { n = "q" }, + syncLocations = { n = "s" }, + syncLine = { n = "l" }, + close = { n = "c" }, + historyOpen = { n = "t" }, + historyAdd = { n = "a" }, + refresh = { n = "f" }, + openLocation = { n = "o" }, + openNextLocation = { n = "" }, + openPrevLocation = { n = "" }, + gotoLocation = { n = "" }, + pickHistoryEntry = { n = "" }, + abort = { n = "b" }, + help = { n = "g?" }, + toggleShowCommand = { n = "p" }, + swapEngine = { n = "e" }, + previewLocation = { n = "i" }, + swapReplacementInterpreter = { n = "x" }, + applyNext = { n = "j" }, + applyPrev = { n = "k" }, + }, + }, + cmd = "GrugFar", + keys = { + { + "sr", + function() + local grug = require("grug-far") + local ext = vim.bo.buftype == "" and vim.fn.expand("%:e") + grug.open({ + transient = true, + prefills = { + filesFilter = ext and ext ~= "" and "*." .. ext or nil, + }, + }) + end, + mode = { "n", "v" }, + desc = "Search and Replace", + }, + }, +}