local map = vim.keymap.set map("v", "p", function() local val = vim.fn.getreg '"' vim.api.nvim_command [[normal! p]] vim.fn.setreg('"', val) end) map("n", "bd", ":bd!") -- lists navigation map("n", "j", ":cnextzz") map("n", "k", ":cprevzz") map("n", "i", ":lnextzz") map("n", "o", ":lprevzz") map("n", "cc", ":cclose") -- quick split map("n", "wsv", ":vsp") -- tabulation map("v", "<", "", ">gv") -- symbols to add undo points local symbols = { ",", ".", "!", "?", "$", ">", "<" } for _, symbol in pairs(symbols) do map("i", symbol, symbol .. "u") end -- search result focus map("n", "n", "nzzzv") map("n", "N", "Nzzzv") -- join lines focus map("n", "J", "mzJ`z") -- Terminal map("t", "", "") map("t", "h", "h") map("t", "j", "j") map("t", "k", "k") map("t", "l", "l") -- quick env file edit map("n", "ee", ":vsp .env") -- quick save and exec map("n", "x", require("alpha.utils").save_and_exec) map("n", "vn", vim.diagnostic.goto_next, {}) map("n", "vp", vim.diagnostic.goto_prev, {})