32 lines
962 B
Lua
32 lines
962 B
Lua
local function map(mode, lhs, rhs, desc, opts)
|
|
local options = { noremap = true, silent = true }
|
|
if opts then
|
|
options = vim.tbl_extend("force", options, opts)
|
|
end
|
|
vim.keymap.set(mode, lhs, rhs, vim.tbl_extend("force", options, { desc = desc }))
|
|
end
|
|
|
|
-- Buffer navigation
|
|
map("n", "<S-h>", "<cmd>bp<cr>", "")
|
|
map("n", "<S-k>", "<cmd>bn<cr>", "")
|
|
map("n", "<leader>bb", "<cmd>e #<cr>", "Switch to other buffer")
|
|
map("n", "<leader>`", "<cmd>e #<cr>", "Switch to other buffer")
|
|
map("n", "<leader>bd", "<cmd>bd<cr>", "Delete buffer")
|
|
map("n", "<leader>bp", "<cmd>bp<cr>", "Previous buffer")
|
|
map("n", "<leader>bn", "<cmd>bn<cr>", "Next buffer")
|
|
|
|
-- Better indentation
|
|
map("v", "<", "<gv")
|
|
map("v", ">", ">gv")
|
|
|
|
-- Lazy
|
|
map("n", "<leader>l", "<cmd>Lazy<cr>", "Lazy")
|
|
|
|
-- Mason
|
|
map("n", "<leader>cm", "<cmd>Mason<cr>", "Mason")
|
|
|
|
-- Clear search on escape
|
|
map({ "i", "n", "s" }, "<esc>", function()
|
|
vim.cmd("noh")
|
|
return "<esc>"
|
|
end, "", { expr = true })
|