vim.g.mapleader=" " vim.opt.encoding="utf-8" vim.opt.wildmenu=true -- Show mathes with tab-completion vim.opt.number=true vim.opt.relativenumber=true vim.opt.ruler=true vim.opt.lazyredraw=true vim.opt.laststatus=0 vim.opt.showmode=false vim.opt.splitbelow=true vim.opt.splitright=true vim.opt.tabstop=2 vim.opt.shiftwidth=2 vim.opt.expandtab=true vim.opt.foldmethod="marker" --- For `{{{` & `}}}` folding vim.opt.complete:append("kspell") vim.opt.inccommand="split" vim.opt.spelllang="fr" -- why does french exist... vim.api.nvim_set_keymap("n","Y","y$", {}) -- What should have been `Y` vim.api.nvim_set_keymap("t", "", "", {}) -- terminal mode Esc vim.keymap.set("v", "", ":m '>+1gv=gv") vim.keymap.set("v", "", ":m '<-2gv=gv") -- Netrw preferences when not using lf vim.g.netrw_liststyle = 3 vim.g.netrw_banner = 0 vim.g.netrw_bufsettings = "noma nomod nu nobl nowrap ro" -- Clear search highlights vim.keymap.set("n", "l", "nohlsearch") -- Don't mess with pasted text vim.keymap.set("i", "+","+") -- Remove trailing whitespace (exept current line to avoid moving cursor) vim.api.nvim_create_autocmd({ "BufWritePre" }, { pattern = {"*"}, callback = function() local save_cursor = vim.fn.getpos(".") pcall(function() vim.cmd [[%s/\s\+$//e]] end) vim.fn.setpos(".", save_cursor) end, }) -- Quickly compile and preview files vim.keymap.set("n", "c", "make") vim.keymap.set("n", "o", "!opout %") -- Make sure I don't accidentally delete with 'S' when not using an LSP: vim.keymap.set("n", "S", "") -- Stop hurting my pinky with : vim.keymap.set("n", "w", "") -- Quickly navigate between Tabs vim.keymap.set("n", "", "tabnext") vim.keymap.set("n", "", "tabprevious")