local M = {} -- Remap bindkey functions local function bind(op, outer_opts) outer_opts = vim.tbl_extend("force", { noremap = true, silent = true }, outer_opts or {}) return function(lhs, rhs, opts) opts = vim.tbl_extend("force", outer_opts, opts or {}) vim.keymap.set(op, lhs, rhs, opts) end end M.map = bind("") M.nmap = bind("n", { noremap = false }) M.nnoremap = bind("n") M.vnoremap = bind("v") M.xnoremap = bind("x") M.inoremap = bind("i") M.tnoremap = bind("t") return M