aboutsummaryrefslogtreecommitdiff
path: root/lua/gabrielgio/key.lua
diff options
context:
space:
mode:
Diffstat (limited to 'lua/gabrielgio/key.lua')
-rw-r--r--lua/gabrielgio/key.lua24
1 files changed, 24 insertions, 0 deletions
diff --git a/lua/gabrielgio/key.lua b/lua/gabrielgio/key.lua
new file mode 100644
index 0000000..ed683b1
--- /dev/null
+++ b/lua/gabrielgio/key.lua
@@ -0,0 +1,24 @@
+local function bind(op, outer_opts)
+ local outer_opts0 = (outer_opts or {noremap = true})
+ local function lo(lhs, rhs, opts)
+ local opts0 = vim.tbl_extend("force", outer_opts0, (opts or {}))
+ return vim.keymap.set(op, lhs, rhs, opts0)
+ end
+ return lo
+end
+
+local nmap = bind("n", {noremap = false})
+local nnoremap = bind("n")
+local vnoremap = bind("v")
+local xnoremap = bind("x")
+local inoremap = bind("i")
+local tnoremap = bind("t")
+
+return {
+ nmap = nmap,
+ nnoremap = nnoremap,
+ tnoremap = tnoremap,
+ vnoremap = vnoremap,
+ xnoremap = xnoremap,
+ inoremap = inoremap
+}