keymappings.lua 2.6 KB

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