keymappings.lua 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  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. -- better window movement
  8. vim.api.nvim_set_keymap('n', '<C-h>', '<C-w>h', { silent = true })
  9. vim.api.nvim_set_keymap('n', '<C-j>', '<C-w>j', { silent = true })
  10. vim.api.nvim_set_keymap('n', '<C-k>', '<C-w>k', { silent = true })
  11. vim.api.nvim_set_keymap('n', '<C-l>', '<C-w>l', { silent = true })
  12. -- TODO fix this
  13. -- Terminal window navigation
  14. vim.cmd([[
  15. tnoremap <C-h> <C-\><C-N><C-w>h
  16. tnoremap <C-j> <C-\><C-N><C-w>j
  17. tnoremap <C-k> <C-\><C-N><C-w>k
  18. tnoremap <C-l> <C-\><C-N><C-w>l
  19. inoremap <C-h> <C-\><C-N><C-w>h
  20. inoremap <C-j> <C-\><C-N><C-w>j
  21. inoremap <C-k> <C-\><C-N><C-w>k
  22. inoremap <C-l> <C-\><C-N><C-w>l
  23. tnoremap <Esc> <C-\><C-n>
  24. ]])
  25. -- TODO fix this
  26. -- resize with arrows
  27. vim.cmd([[
  28. nnoremap <silent> <C-Up> :resize -2<CR>
  29. nnoremap <silent> <C-Down> :resize +2<CR>
  30. nnoremap <silent> <C-Left> :vertical resize -2<CR>
  31. nnoremap <silent> <C-Right> :vertical resize +2<CR>
  32. ]])
  33. -- better indenting
  34. vim.api.nvim_set_keymap('v', '<', '<gv', { noremap = true, silent = true })
  35. vim.api.nvim_set_keymap('v', '>', '>gv', { noremap = true, silent = true })
  36. -- I hate escape
  37. vim.api.nvim_set_keymap('i', 'jk', '<ESC>', { noremap = true, silent = true })
  38. vim.api.nvim_set_keymap('i', 'kj', '<ESC>', { noremap = true, silent = true })
  39. vim.api.nvim_set_keymap('i', 'jj', '<ESC>', { noremap = true, silent = true })
  40. -- Tab switch buffer
  41. vim.api.nvim_set_keymap('n', '<TAB>', ':bnext<CR>', { noremap = true, silent = true })
  42. vim.api.nvim_set_keymap('n', '<S-TAB>', ':bprevious<CR>', { noremap = true, silent = true })
  43. -- Move selected line / block of text in visual mode
  44. vim.api.nvim_set_keymap('x', 'K', ':move \'<-2<CR>gv-gv', { noremap = true, silent = true })
  45. vim.api.nvim_set_keymap('x', 'J', ':move \'>+1<CR>gv-gv', { noremap = true, silent = true })
  46. -- Better nav for omnicomplete
  47. vim.cmd('inoremap <expr> <c-j> (\"\\<C-n>\")')
  48. vim.cmd('inoremap <expr> <c-k> (\"\\<C-p>\")')
  49. -- TAB Complete
  50. --vim.api.nvim_set_keymap('i', '<expr><TAB>', 'pumvisible() ? \"\\<C-n>\" : \"\\<TAB>\"', { noremap = true, silent = true })