keymappings.lua 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. vim.api.nvim_set_keymap('n', '-', ':RnvimrToggle<CR>', {noremap = true, silent = true})
  2. -- better window movement
  3. vim.api.nvim_set_keymap('n', '<C-h>', '<C-w>h', {silent = true})
  4. vim.api.nvim_set_keymap('n', '<C-j>', '<C-w>j', {silent = true})
  5. vim.api.nvim_set_keymap('n', '<C-k>', '<C-w>k', {silent = true})
  6. vim.api.nvim_set_keymap('n', '<C-l>', '<C-w>l', {silent = true})
  7. -- TODO fix this
  8. -- Terminal window navigation
  9. vim.cmd([[
  10. tnoremap <C-h> <C-\><C-N><C-w>h
  11. tnoremap <C-j> <C-\><C-N><C-w>j
  12. tnoremap <C-k> <C-\><C-N><C-w>k
  13. tnoremap <C-l> <C-\><C-N><C-w>l
  14. inoremap <C-h> <C-\><C-N><C-w>h
  15. inoremap <C-j> <C-\><C-N><C-w>j
  16. inoremap <C-k> <C-\><C-N><C-w>k
  17. inoremap <C-l> <C-\><C-N><C-w>l
  18. tnoremap <Esc> <C-\><C-n>
  19. ]])
  20. -- TODO fix this
  21. -- resize with arrows
  22. vim.api.nvim_set_keymap('n', '<C-Up>', ':resize -2<CR>', {silent = true})
  23. vim.api.nvim_set_keymap('n', '<C-Down>', ':resize +2<CR>', {silent = true})
  24. vim.api.nvim_set_keymap('n', '<C-Left>', ':vertical resize -2<CR>', {silent = true})
  25. vim.api.nvim_set_keymap('n', '<C-Right>', ':vertical resize +2<CR>', {silent = true})
  26. -- better indenting
  27. vim.api.nvim_set_keymap('v', '<', '<gv', {noremap = true, silent = true})
  28. vim.api.nvim_set_keymap('v', '>', '>gv', {noremap = true, silent = true})
  29. -- I hate escape
  30. vim.api.nvim_set_keymap('i', 'jk', '<ESC>', {noremap = true, silent = true})
  31. vim.api.nvim_set_keymap('i', 'kj', '<ESC>', {noremap = true, silent = true})
  32. vim.api.nvim_set_keymap('i', 'jj', '<ESC>', {noremap = true, silent = true})
  33. -- Tab switch buffer
  34. vim.api.nvim_set_keymap('n', '<TAB>', ':bnext<CR>', {noremap = true, silent = true})
  35. vim.api.nvim_set_keymap('n', '<S-TAB>', ':bprevious<CR>', {noremap = true, silent = true})
  36. -- Move selected line / block of text in visual mode
  37. vim.api.nvim_set_keymap('x', 'K', ':move \'<-2<CR>gv-gv', {noremap = true, silent = true})
  38. vim.api.nvim_set_keymap('x', 'J', ':move \'>+1<CR>gv-gv', {noremap = true, silent = true})
  39. -- Better nav for omnicomplete
  40. vim.cmd('inoremap <expr> <c-j> (\"\\<C-n>\")')
  41. vim.cmd('inoremap <expr> <c-k> (\"\\<C-p>\")')
  42. vim.cmd('vnoremap p "0p')
  43. vim.cmd('vnoremap P "0P')
  44. -- vim.api.nvim_set_keymap('v', 'p', '"0p', {silent = true})
  45. -- vim.api.nvim_set_keymap('v', 'P', '"0P', {silent = true})
  46. -- vim.cmd('inoremap <expr> <TAB> (\"\\<C-n>\")')
  47. -- vim.cmd('inoremap <expr> <S-TAB> (\"\\<C-p>\")')
  48. -- vim.api.nvim_set_keymap('i', '<C-TAB>', 'compe#complete()', {noremap = true, silent = true, expr = true})
  49. -- vim.cmd([[
  50. -- map p <Plug>(miniyank-autoput)
  51. -- map P <Plug>(miniyank-autoPut)
  52. -- map <leader>n <Plug>(miniyank-cycle)
  53. -- map <leader>N <Plug>(miniyank-cycleback)
  54. -- ]])
  55. -- Toggle the QuickFix window
  56. vim.api.nvim_set_keymap('', '<C-q>', ':call QuickFixToggle()<CR>', {noremap = true, silent = true})