--- Window and tab management keymaps. --- Provides split creation/closing, tab navigation, and Ctrl-based --- resize shortcuts for both vertical and horizontal splits. --- @module keymaps.window local keymap = vim.keymap --- Split management — vertical, horizontal, equalize, and close. keymap.set("n", "sv", "v", { desc = "Split window vertically" }) keymap.set("n", "sh", "s", { desc = "Split window horizontally" }) keymap.set("n", "se", "=", { desc = "Make splits equal size" }) keymap.set("n", "sx", "close", { desc = "Close current split" }) --- Tab management — new, close, next, previous, and open buffer in new tab. keymap.set("n", "to", "tabnew", { desc = "Open new tab" }) keymap.set("n", "cx", "tabclose", { desc = "Close current tab" }) keymap.set("n", "tn", "tabn", { desc = "Go to next tab" }) keymap.set("n", "tp", "tabp", { desc = "Go to previous tab" }) keymap.set("n", "tt", "tabnew %", { desc = "Open current buffer in new tab" }) --- Resize splits — Ctrl+H/L for width, Ctrl+K/J for height (step of 5). keymap.set("n", "", ":vertical resize -5", { noremap = true, silent = true }) keymap.set("n", "", ":vertical resize +5", { noremap = true, silent = true }) keymap.set("n", "", ":resize +5", { noremap = true, silent = true }) keymap.set("n", "", ":resize -5", { noremap = true, silent = true })