navigation.lua 913 B

12345678910111213141516171819202122232425262728293031323334
  1. local demicolon = require('demicolon')
  2. local Treewalker = require('treewalker')
  3. -- ,/; for bracket motions too
  4. demicolon.setup({
  5. keymaps = {
  6. disabled_keys = {
  7. -- this is paste with indent, not a motion
  8. 'p',
  9. -- we bind these to ; and ,
  10. ']',
  11. '[',
  12. }
  13. }
  14. })
  15. vim.keymap.set('n', ']]', ';', { remap = true })
  16. vim.keymap.set('n', '[[', ',', { remap = true })
  17. -- Treesitter navigation
  18. Treewalker.setup()
  19. vim.keymap.set({ 'n', 'v' }, '<C-k>', '<cmd>Treewalker Up<cr>')
  20. vim.keymap.set({ 'n', 'v' }, '<C-j>', '<cmd>Treewalker Down<cr>')
  21. vim.keymap.set({ 'n', 'v' }, '<C-h>', '<cmd>Treewalker Left<cr>')
  22. vim.keymap.set({ 'n', 'v' }, '<C-l>', '<cmd>Treewalker Right<cr>')
  23. -- jumplist navigation #bracketed
  24. vim.keymap.set('n', '[f', '<C-O>')
  25. vim.keymap.set('n', ']f', '<C-I>')
  26. -- window navigation #bracketed
  27. vim.keymap.set('n', '[w', '<C-w>W')
  28. vim.keymap.set('n', ']w', '<C-w>w')