vim.g.mapleader = " " -- directory viewer vim.keymap.set("n", "pv", vim.cmd.Ex) -- move highlighted lines up and down 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") -- pastes without replacing buffer vim.keymap.set("x", "p", [["_dP]]) -- yanks to system clipboard vim.keymap.set({ "n", "v" }, "y", [["+y]]) vim.keymap.set("n", "Y", [["+Y]]) -- deletes without replacing buffer vim.keymap.set({ "n", "v" }, "d", [["_d]]) -- formats file using LSP -- vim.keymap.set("n", "f", vim.lsp.buf.format) vim.keymap.set("", "f", function() require("conform").format({ async = true }, function(err) if not err then local mode = vim.api.nvim_get_mode().mode if vim.startswith(string.lower(mode), "v") then vim.api.nvim_feedkeys(vim.api.nvim_replace_termcodes("", true, false, true), "n", true) end end end) end, { desc = "Format code" }) vim.keymap.set("n", "", "cnextzz") vim.keymap.set("n", "", "cprevzz") 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 }) vim.keymap.set("n", "o", "ok") vim.keymap.set("n", "", function() if vim.inspect(vim.opt.colorcolumn:get()) == "{}" then vim.opt.colorcolumn = "80" else vim.opt.colorcolumn = "" end end)