mappings.lua 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. -- map key function
  2. local function map(mode, lhs, rhs, opts)
  3. local options = opts or {}
  4. vim.api.nvim_set_keymap(mode, lhs, rhs, options)
  5. end
  6. -- Mappings <<<
  7. vim.g.mapleader = " "
  8. -- Search <<<
  9. map('n', 'n', 'nzz')
  10. map('n', 'N', 'Nzz')
  11. map('n', '*', '*N')
  12. map('n', '#', '#N')
  13. -- >>>
  14. -- Quickfix and Location list <<<
  15. map('n', '<leader>q', '<Cmd>silent! lua ToggleQuickFix()<CR>')
  16. map('n', '[q', '<Cmd>cprev<CR>zz')
  17. map('n', ']q', '<Cmd>cnext<CR>zz')
  18. map('n', '<leader>w', '<Cmd>silent! lua ToggleLocList()<CR>')
  19. map('n', '[w', '<Cmd>lprev<CR>zz')
  20. map('n', ']w', '<Cmd>lnext<CR>zz')
  21. map('n', '[W', '<Cmd>silent! lolder<CR>zz')
  22. map('n', ']W', '<Cmd>silent! lnewer<CR>zz')
  23. -- >>>
  24. -- Buffers and Tabs <<<
  25. map('n', '<leader>b', '<Cmd>lua BuffersMenu()<CR>')
  26. map('n', '[b', '<Cmd>bprev<CR>')
  27. map('n', ']b', '<Cmd>bnext<CR>')
  28. map('n', '<leader>B', '<Cmd>lua TabsMenu()<CR>')
  29. map('n', '[B', '<Cmd>tabprev<CR>')
  30. map('n', ']B', '<Cmd>tabnext<CR>')
  31. -- >>>
  32. -- Vimrc <<<
  33. map('n', '<leader>e', '<Cmd>edit $MYVIMRC<CR>')
  34. map('n', '<leader>E', '<Cmd>source $MYVIMRC<CR>')
  35. -- >>>
  36. -- move lines by tab width in visual mode <<<
  37. map('v', '>', '>gv')
  38. map('v', '<', '<gv')
  39. -- >>>
  40. -- Moving cursor <<<
  41. map('i', '<C-k>', '<UP>')
  42. map('i', '<C-j>', '<DOWN>')
  43. map('i', '<C-h>', '<LEFT>')
  44. map('i', '<C-l>', '<RIGHT>')
  45. map('n', 'J', '}<Enter>0')
  46. map('n', 'K', '{<BS>0')
  47. map('v', 'J', '}<Enter>0')
  48. map('v', 'K', '{<BS>0')
  49. map('n', 'H', '<Cmd>silent! lua JumpToStartOfLine()<CR>')
  50. map('n', 'L', '<Cmd>silent! lua JumpToEndOfLine()<CR>')
  51. map('n', 'W', 'e')
  52. map('n', 'B', 'ge')
  53. -- >>>
  54. -- Shift lines <<<
  55. map('n', '<C-Up>', ':m-2<CR>==')
  56. map('n', '<C-Down>', ':m+<CR>==')
  57. map('v', '<C-Up>', ':m-2<CR>gv=gv')
  58. map('v', '<C-Down>', ":m'>+<CR>gv=gv")
  59. -- >>>
  60. -- Marks <<<
  61. map('n', 'mn', ']`zz')
  62. map('n', 'mN', '[`zz')
  63. map('n', 'mm', 'g`zz')
  64. -- >>>
  65. -- >>>