keymappings.lua 2.6 KB

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