local opts = { noremap = true, silent = true } local term_opts = { silent = true } -- Shorten function name local keymap = vim.api.nvim_set_keymap --Remap space as leader key keymap("n", "", "", opts) vim.g.mapleader = " " vim.g.maplocalleader = " " -- Modes -- normal_mode = 'n', -- insert_mode = 'i', -- visual_mode = 'v', -- visual_block_mode = 'x', -- term_mode = 't', -- command_mode = 'c', keymap("n", "c", '"_c', opts) -- Normal -- -- Resize with arrows keymap("n", "", ":resize -2", opts) keymap("n", "", ":resize +2", opts) keymap("n", "", ":vertical resize -2", opts) keymap("n", "", ":vertical resize +2", opts) -- Naviagate buffers keymap("n", "", ":BufferLineCycleNext", opts) keymap("n", "", ":BufferLineCyclePrev", opts) -- Move text up and down keymap("n", "", ":m .+1==gi", opts) keymap("n", "", ":m .-2==gi", opts) -- Insert -- -- Press jk fast to enter keymap("i", "jk", "", opts) keymap("i", "zzz", " zz a", opts) -- Visual -- -- Stay in indent mode keymap("v", "<", "", ">gv", opts) -- Move text up and down keymap("v", "", ":m .+1==", opts) keymap("v", "", ":m .-2==", opts) keymap("v", "p", '"_dP', opts) keymap("v", "P", '"_dP', opts) -- My bit's an pieces currently unsorted -- Spellcheck keymap("n", "o", ":setlocal spell! spelllang=en_us", opts) -- Tree keymap("n", "n", ":NvimTreeToggle", opts) -- Telescope keymap("n", "ff", ":Telescope find_files", opts) keymap("n", "ft", ":Telescope live_grep", opts) keymap("n", "fp", ":Telescope projects", opts) keymap("n", "fb", ":Telescope buffers", opts) keymap("n", "fr", ":Telescope oldfiles", opts) -- Goyo keymap("n", "f", ":Goyo", opts) -- Copy and Paste keymap("n", "", '"+y', opts) keymap("n", "]]) -- keymap('n', '', ':%s//g', opts) -- Compile the document with default compiler script vim.cmd([[map c :w! \| !compiler "%"]]) -- keymap('n', 'c', ':w! | !compiler %', opts) -- Open compiled document keymap("n", "p", ":!opout %", opts) -- Attempt sudo for files that require it keymap("n", "w!!", 'execute "silent! write !sudo tee % >/dev/null" edit!', opts) -- ZenMode keymap("n", "", "ZenMode", opts) -- Temporary till I work out whichkey. keymap("n", "gr", "lua vim.lsp.buf.references()", opts) keymap("n", "gd", "lua vim.lsp.buf.definition()", opts) keymap("n", "gi", "lua vim.lsp.buf.implementation()", opts)