36 lines
1.4 KiB
Lua
36 lines
1.4 KiB
Lua
local keymap = vim.keymap
|
|
|
|
-- Search
|
|
keymap.set("n", "<leader>nh", ":nohl<CR>", { desc = "Clear search highlights" })
|
|
|
|
-- Window splits
|
|
keymap.set("n", "<leader>sv", "<C-w>v", { desc = "Split vertically" })
|
|
keymap.set("n", "<leader>sh", "<C-w>s", { desc = "Split horizontally" })
|
|
keymap.set("n", "<leader>se", "<C-w>=", { desc = "Equalise splits" })
|
|
keymap.set("n", "<leader>sx", ":close<CR>", { desc = "Close split" })
|
|
keymap.set("n", "<leader>mm", ":MaximizerToggle<CR>", { desc = "Toggle fullscreen" })
|
|
|
|
-- Window navigation
|
|
keymap.set("n", "<C-h>", "<C-W>h", { desc = "Move left" })
|
|
keymap.set("n", "<C-j>", "<C-W>j", { desc = "Move down" })
|
|
keymap.set("n", "<C-k>", "<C-W>k", { desc = "Move up" })
|
|
keymap.set("n", "<C-l>", "<C-W>l", { desc = "Move right" })
|
|
|
|
-- Toggle virtual diagnostics
|
|
keymap.set("n", "<leader>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", "<leader>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", "<leader>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
|