local options = { noremap = true } -- Don't copy "c" changes to primary register vim.keymap.set('n', 'c', '"_c', options) -- Easily open splits vim.keymap.set('n', 'hs', 'split', options) vim.keymap.set('n', 'vs', 'vsplit', options) -- Copy the entire file vim.keymap.set('n', 'y', 'ggyG', options) vim.keymap.set('n', '', function() vim.cmd('mksession! ~/.cache//nvim/session/manual_session.vim') end, options) vim.keymap.set('n', '', function() vim.cmd('source ~/.cache/nvim/session/manual_session.vim') end, options) vim.keymap.set('n', '', function() vim.cmd('source ~/.cache/nvim/session/shutdown_session.vim') end, options) -- Navigating with guides vim.keymap.set('n', '', '/<++>"_c4l', options) vim.keymap.set('v', '', '/<++>"_c4l', options) -- Spell-check vim.keymap.set('n', 'o', 'setlocal spell! spelllang=en_au', options) -- Keep highlight when indenting vim.keymap.set('v', '<', '', '>gv', options) vim.keymap.set('n', '', '1gt', options) vim.keymap.set('n', '', '2gt', options) vim.keymap.set('n', '', '3gt', options) vim.keymap.set('n', '', '4gt', options) vim.keymap.set('n', '', '5gt', options) vim.keymap.set('n', '', '6gt', options) vim.keymap.set('n', '', '7gt', options) vim.keymap.set('n', '', '8gt', options) vim.keymap.set('n', '', '9gt', options) vim.keymap.set('n', 'gp', 'Git push', options) vim.keymap.set('n', 'gP', 'Git pull', options) vim.keymap.set('n', 'ga', 'Git add .', options) vim.keymap.set('n', 'gA', 'Git add', options) vim.keymap.set('n', 'gc', 'Git commit', options) vim.keymap.set('n', 'gC', 'Git commit -a', options) vim.keymap.set("x", "p", "\"_dP", options) vim.keymap.set("n", "d", "\"_d", options) vim.keymap.set("v", "d", "\"_d", options) vim.keymap.set('v', 'J', ":m '>+1gv=gv") vim.keymap.set('v', 'K', ":m '<-2gv=gv") vim.keymap.set('n', '', 'zz') vim.keymap.set('n', '', 'zz') vim.keymap.set('n', 'n', 'nzzzv') vim.keymap.set('n', 'N', 'Nzzzv') vim.keymap.set('n', '', 'cnextzz') vim.keymap.set('n', '', 'cprevzz') vim.keymap.set('n', 'k', 'lnextzz') vim.keymap.set('n', 'j', 'cprevzz') vim.keymap.set("n", "s", [[:%s/\<\>//gI]])