-- https://github.com/arnvald/viml-to-lua/blob/main/lua/mappings.lua vim.cmd('noremap :noh:call clearmatches()') -- clear matches Ctrl+b function Map(mode, shortcut, command) vim.api.nvim_set_keymap(mode, shortcut, command, { noremap = true, silent = true }) end function Nmap(shortcut, command) Map('n', shortcut, command) end function Imap(shortcut, command) Map('i', shortcut, command) end function Vmap(shortcut, command) Map('v', shortcut, command) end function Cmap(shortcut, command) Map('c', shortcut, command) end function Tmap(shortcut, command) Map('t', shortcut, command) end -- pane nav -- Nmap("u", ":wincmd k") -- Nmap("e", ":wincmd j") -- Nmap("n", ":wincmd h") -- Nmap("i", ":wincmd l") --- pane nav Nmap("k", ":wincmd k") Nmap("j", ":wincmd j") Nmap("h", ":wincmd h") Nmap("l", ":wincmd l") -- -- pane resize -- Nmap("_", ":resize -1") -- Nmap("+", ":resize +1") -- pane spawn Nmap("t", ':split:wincmd j:term') Nmap("s", ':vs:wincmd l') Nmap("wo", ':only') -- escape terminal mode easier Tmap('', '') -- yoinked from https://github.com/dycw/dotfiles/blob/master/nvim/lua/keymaps.lua local function merge_tables(t1, t2) local result = {} for key, value in pairs(t1) do result[key] = value end for key, value in pairs(t2) do result[key] = value end return result end local keymap_opts = { noremap = true, silent = true } local keymap_set = function(mode, lhs, rhs, desc) vim.keymap.set(mode, lhs, rhs, merge_tables(keymap_opts, { desc = desc })) end -- command keymap_set("n", ";", ":", "Command") -- global marks local prefixes = "m'" local letters = "abcdefghijklmnopqrstuvwxyz" for i = 1, #prefixes do local prefix = prefixes:sub(i, i) for j = 1, #letters do local lower_letter = letters:sub(j, j) local upper_letter = string.upper(lower_letter) keymap_set({ "n", "v" }, prefix .. lower_letter, prefix .. upper_letter, "Mark " .. upper_letter) end end -- paste in insert mode keymap_set("i", "", "p", "Paste")