local discipline = require("m1ngsama.discipline") -- discipline.cowboy() local keymap = vim.keymap local opts = { noremap = true, silent = true } -- Do things without affecting the registers keymap.set("n", "x", '"_x') keymap.set("n", "p", '"0p') keymap.set("n", "P", '"0P') keymap.set("v", "p", '"0p') keymap.set("n", "c", '"_c') keymap.set("n", "C", '"_C') keymap.set("v", "c", '"_c') keymap.set("v", "C", '"_C') keymap.set("n", "d", '"_d') keymap.set("n", "D", '"_D') keymap.set("v", "d", '"_d') keymap.set("v", "D", '"_D') -- Increment/decrement keymap.set("n", "+", "") keymap.set("n", "-", "") -- Delete a word backwards keymap.set("n", "dw", 'vb"_d') -- Select all keymap.set("n", "", "ggG") -- Save with root permission (not working for now) --vim.api.nvim_create_user_command('W', 'w !sudo tee > /dev/null %', {}) -- Disable continuations keymap.set("n", "o", "o^Da", opts) keymap.set("n", "O", "O^Da", opts) -- Jumplist keymap.set("n", "", "", opts) -- New tab keymap.set("n", "te", ":tabedit") keymap.set("n", "", ":tabnext", opts) keymap.set("n", "", ":tabprev", opts) -- Split window keymap.set("n", "ss", ":split", opts) keymap.set("n", "sv", ":vsplit", opts) -- Move window keymap.set("n", "sh", "h") keymap.set("n", "sk", "k") keymap.set("n", "sj", "j") keymap.set("n", "sl", "l") -- Resize window keymap.set("n", "", "<") keymap.set("n", "", ">") keymap.set("n", "", "+") keymap.set("n", "", "-") -- Diagnostics keymap.set("n", "", function() vim.diagnostic.goto_next() end, opts) keymap.set("n", "mp", "MarkdownPreview", { desc = "Markdown Preview" }) keymap.set("n", "r", function() require("m1ngsama.hsl").replaceHexWithHSL() end) keymap.set("n", "i", function() require("m1ngsama.lsp").toggleInlayHints() end)