Files
nvim/lua/config/binds.lua
2026-04-10 15:27:58 +01:00

35 lines
873 B
Lua

-- Keymap function
function Keymap(mode, key, binding, opts)
local options = { noremap = true, silent = true }
if opts then
options = vim.tbl_extend("force", options, opts)
end
vim.keymap.set(mode, key, binding, options)
end
Keymap("n", "q:", ":") -- remove nonsense command
Keymap("n", "<leader>bd", function() -- delete buffer
vim.cmd("bd")
vim.cmd("echo 'Buffer deleted'")
end)
for _, bind in ipairs({ "i", "a", "A" }) do
-- Pass { expr = true } as the fourth argument
Keymap("n", bind, function()
if vim.fn.getline("."):match("^%s*$") then
return [["_cc]]
else
return bind
end
end, { expr = true })
end
Keymap("i", "<C-BS>", "<C-W>") -- C-Backscpace for whole words
-- Open Lazygit
Keymap("n", "<leader>l", function()
Snacks.lazygit.open()
end)
Keymap("n", "<leader>d", "<cmd>lua vim.diagnostic.open_float()<CR>") -- Diagnostics for Linter