vim.g.mapleader = " " vim.cmd("command! W w") vim.cmd("command! ON ObsidianNew") -- Macros vim.keymap.set("n", "c", ":w:!cargorun") -- vim.keymap.set("n", "pv", vim.cmd.Ex) vim.keymap.set("n", "pv", "Oil", { desc = "Open parent directory" }) vim.keymap.set("n", "-", "Oil", { desc = "Open parent directory" }) vim.keymap.set("v", "J", ":m '>+1gv=gv") vim.keymap.set("v", "K", ":m '<-2gv=gv") vim.keymap.set("n", "J", "mzJ`z") vim.keymap.set("n", "", "zz") vim.keymap.set("n", "", "zz") vim.keymap.set("n", "n", "nzzzv") vim.keymap.set("n", "N", "Nzzzv") -- greatest remap ever vim.keymap.set("x", "p", "\"_dP") -- next greatest remap ever : asbjornHaland -- to void register (system) vim.keymap.set("n", "y", "\"+y") vim.keymap.set("v", "y", "\"+y") vim.keymap.set("n", "Y", "\"+Y") vim.keymap.set("v", "d", "\"_d") -- This is going to get me cancelled vim.keymap.set("i", "", "") vim.keymap.set("n", "Q", "") vim.keymap.set("n", "", "silent !tmux display-popup -E \"tmuxss -i\"") vim.keymap.set("n", "f", function() vim.lsp.buf.format() end) -- vim.keymap.set("n", "", "cprevzz") -- vim.keymap.set("n", "", "cnextzz") -- vim.keymap.set("n", "k", "lnextzz") -- vim.keymap.set("n", "j", "lprevzz") vim.keymap.set("n", "s", ":%s/\\<\\>//gI") vim.keymap.set("n", "x", "!chmod +x %", { silent = true }) for _, mode in ipairs({ "n", "v", "i" }) do vim.keymap.set(mode, "", function() end) vim.keymap.set(mode, "<2-RightMouse>", function() end) vim.keymap.set(mode, "<3-RightMouse>", function() end) vim.keymap.set(mode, "<4-RightMouse>", function() end) end vim.keymap.set("n", "", "tabnext +") vim.keymap.set("n", "", "tabnext -") vim.keymap.set("n", "", "tabnew") -- vim.keymap.del("n", "d") -- vim.keymap.del("n", "") vim.keymap.set("n", "", "tabclose") vim.keymap.set("n", "l", "source %") vim.keymap.set("n", "l", ":.lua") vim.keymap.set("v", "l", ":lua") local function swap_words() local start = vim.fn.getpos("'<")[2] local finish = vim.fn.getpos("'>")[2] local w1 = vim.fn.input("Word 1: ") local w2 = vim.fn.input("Word 2: ") if w1 == "" or w2 == "" then return end local lines = vim.api.nvim_buf_get_lines(0, start - 1, finish, false) for i, line in ipairs(lines) do line = line:gsub(vim.pesc(w1), "__TMP__") line = line:gsub(vim.pesc(w2), w1) line = line:gsub("__TMP__", w2) lines[i] = line end vim.api.nvim_buf_set_lines(0, start - 1, finish, false, lines) end vim.keymap.set("v", "ws", swap_words, { desc = "Swap two words in selection" }) vim.keymap.set("n", "ws", swap_words, { desc = "Swap two words in selection" })