local keymap = vim.keymap -- Search keymap.set("n", "nh", ":nohl", { desc = "Clear search highlights" }) -- Window splits keymap.set("n", "sv", "v", { desc = "Split vertically" }) keymap.set("n", "sh", "s", { desc = "Split horizontally" }) keymap.set("n", "se", "=", { desc = "Equalise splits" }) keymap.set("n", "sx", ":close", { desc = "Close split" }) keymap.set("n", "mm", ":MaximizerToggle", { desc = "Toggle fullscreen" }) -- Window navigation keymap.set("n", "", "h", { desc = "Move left" }) keymap.set("n", "", "j", { desc = "Move down" }) keymap.set("n", "", "k", { desc = "Move up" }) keymap.set("n", "", "l", { desc = "Move right" }) -- Toggle virtual diagnostics keymap.set("n", "lh", function() local config = vim.diagnostic.config() vim.diagnostic.config({ virtual_text = not config.virtual_text }) end, { desc = "Toggle virtual diagnostics" }) -- Toggle spellcheck keymap.set("n", "sp", function() vim.opt.spell = not vim.opt.spell:get() vim.opt.spelllang = "en_gb" end, { desc = "Toggle spell check" }) -- Toggle in-file Git diff (mini.diff) keymap.set("n", "dif", function() MiniDiff.toggle_overlay() end, { desc = "Toggle in-file Git diff" }) -- 0.12: gc{motion}/gcc/gbc for commenting is built-in, no plugin needed