You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

63 lines
2.5 KiB

  1. local options = { noremap = true }
  2. -- Don't copy "c" changes to primary register
  3. vim.keymap.set('n', 'c', '"_c', options)
  4. -- Easily open splits
  5. vim.keymap.set('n', '<leader>hs', '<cmd>split<cr>', options)
  6. vim.keymap.set('n', '<leader>vs', '<cmd>vsplit<cr>', options)
  7. -- Copy the entire file
  8. vim.keymap.set('n', '<leader>y', 'ggyG<C-o>', options)
  9. vim.keymap.set('n', '<F5>', function() vim.cmd('mksession! ~/.cache//nvim/session/manual_session.vim') end, options)
  10. vim.keymap.set('n', '<F6>', function() vim.cmd('source ~/.cache/nvim/session/manual_session.vim') end, options)
  11. vim.keymap.set('n', '<F7>', function() vim.cmd('source ~/.cache/nvim/session/shutdown_session.vim') end, options)
  12. -- Navigating with guides
  13. vim.keymap.set('n', '<leader><leader>', '<Esc>/<++><Enter>"_c4l', options)
  14. vim.keymap.set('v', '<leader><leader>', '<Esc>/<++><Enter>"_c4l', options)
  15. -- Spell-check
  16. vim.keymap.set('n', '<leader>o', '<cmd>setlocal spell! spelllang=en_au<cr>', options)
  17. -- Keep highlight when indenting
  18. vim.keymap.set('v', '<', '<gv', options)
  19. vim.keymap.set('v', '>', '>gv', options)
  20. vim.keymap.set('n', '<A-1>', '1gt', options)
  21. vim.keymap.set('n', '<A-2>', '2gt', options)
  22. vim.keymap.set('n', '<A-3>', '3gt', options)
  23. vim.keymap.set('n', '<A-4>', '4gt', options)
  24. vim.keymap.set('n', '<A-5>', '5gt', options)
  25. vim.keymap.set('n', '<A-6>', '6gt', options)
  26. vim.keymap.set('n', '<A-7>', '7gt', options)
  27. vim.keymap.set('n', '<A-8>', '8gt', options)
  28. vim.keymap.set('n', '<A-9>', '9gt', options)
  29. vim.keymap.set('n', '<leader>gp', '<cmd>Git push<CR>', options)
  30. vim.keymap.set('n', '<leader>gP', '<cmd>Git pull<CR>', options)
  31. vim.keymap.set('n', '<leader>ga', '<cmd>Git add .<CR>', options)
  32. vim.keymap.set('n', '<leader>gA', '<cmd>Git add<CR>', options)
  33. vim.keymap.set('n', '<leader>gc', '<cmd>Git commit<CR>', options)
  34. vim.keymap.set('n', '<leader>gC', '<cmd>Git commit -a<CR>', options)
  35. vim.keymap.set("x", "<leader>p", "\"_dP", options)
  36. vim.keymap.set("n", "<leader>d", "\"_d", options)
  37. vim.keymap.set("v", "<leader>d", "\"_d", options)
  38. vim.keymap.set('v', 'J', ":m '>+1<CR>gv=gv")
  39. vim.keymap.set('v', 'K', ":m '<-2<CR>gv=gv")
  40. vim.keymap.set('n', '<C-d>', '<C-d>zz')
  41. vim.keymap.set('n', '<C-u>', '<C-u>zz')
  42. vim.keymap.set('n', 'n', 'nzzzv')
  43. vim.keymap.set('n', 'N', 'Nzzzv')
  44. vim.keymap.set('n', '<C-k>', '<cmd>cnext<CR>zz')
  45. vim.keymap.set('n', '<C-j>', '<cmd>cprev<CR>zz')
  46. vim.keymap.set('n', '<leader>k', '<cmd>lnext<CR>zz')
  47. vim.keymap.set('n', '<leader>j', '<cmd>cprev<CR>zz')
  48. vim.keymap.set("n", "<leader>s", [[:%s/\<<C-r><C-w>\>/<C-r><C-w>/gI<Left><Left><Left>]])