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 -- -- Better window navigation keymap('n', '', 'h', opts) keymap('n', '', 'j', opts) keymap('n', '', 'k', opts) keymap('n', '', 'l', opts) -- 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', '', ':bnext', opts) keymap('n', '', ':bprevious', 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) -- 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) -- Visual Block -- -- Move text up and down keymap('x', 'J', ':move ">+1gv-gv', opts) keymap('x', 'K', ':move "<-2gv-gv', opts) keymap('x', '', ':move ">+1gv-gv', opts) keymap('x', '', ':move "<-2gv-gv', opts) -- My bit's an pieces currently unsorted -- Spellcheck keymap('n', 'o', ':setlocal spell! spelllang=en_us', opts) -- Tree keymap('n', 'n', ':NvimTreeToggle', 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) keymap("n", "", "lua vim.lsp.buf.references()", opts) keymap("n", "", "lua vim.lsp.buf.definition()", opts) keymap("n", "", "ZenMode", opts)