diff --git a/lua/lazyvim/config/keymaps.lua b/lua/lazyvim/config/keymaps.lua index 3e3829d1..d7b02c9a 100644 --- a/lua/lazyvim/config/keymaps.lua +++ b/lua/lazyvim/config/keymaps.lua @@ -31,16 +31,22 @@ map("v", "", ":execute \"'<,'>move '>+\" . v:count1gv=gv", { desc map("v", "", ":execute \"'<,'>move '<-\" . (v:count1 + 1)gv=gv", { desc = "Move Up" }) -- buffers -map("n", "", "bprevious", { desc = "Prev Buffer" }) -map("n", "", "bnext", { desc = "Next Buffer" }) -map("n", "[b", "bprevious", { desc = "Prev Buffer" }) -map("n", "]b", "bnext", { desc = "Next Buffer" }) +map("n", "", "execute 'bprevious' . v:count1", { desc = "Prev Buffer" }) +map("n", "", "execute 'bnext' . v:count1", { desc = "Next Buffer" }) +map("n", "[b", "execute 'bprevious' . v:count1", { desc = "Prev Buffer" }) +map("n", "]b", "execute 'bnext' . v:count1", { desc = "Next Buffer" }) map("n", "bb", "e #", { desc = "Switch to Other Buffer" }) map("n", "`", "e #", { desc = "Switch to Other Buffer" }) map("n", "bd", function() Snacks.bufdelete() end, { desc = "Delete Buffer" }) map("n", "bo", function() + local tab_buflist = vim.fn.tabpagebuflist() + Snacks.bufdelete(function(buf) + return not vim.list_contains(tab_buflist, buf) + end) +end, { desc = "Delete Buffers other than the current layout" }) +map("n", "bO", function() Snacks.bufdelete.other() end, { desc = "Delete Other Buffers" }) map("n", "bD", ":bd", { desc = "Delete Buffer and Window" })