mappings.lua 3.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. -- general keymaps
  2. vim.api.nvim_set_keymap("n", "<leader>p", ":tabnext<CR>", { noremap = true, silent = true, desc = "Next Tab" })
  3. vim.api.nvim_set_keymap(
  4. "n",
  5. "<leader>n",
  6. ":vsplit<CR>:wincmd l<CR>",
  7. { noremap = true, silent = true, desc = "Split Right" }
  8. )
  9. vim.api.nvim_set_keymap(
  10. "n",
  11. "<leader>m",
  12. ":split<CR>:wincmd j<CR>",
  13. { noremap = true, silent = true, desc = "Split Down" }
  14. )
  15. vim.api.nvim_set_keymap("n", "<Esc>", ":noh<CR>", { noremap = true, silent = true, desc = "Clear Search" })
  16. -- bufferline keymaps
  17. vim.api.nvim_set_keymap(
  18. "n",
  19. "<leader>C",
  20. ":BufferLineCloseOthers<CR>",
  21. { noremap = true, silent = true, desc = "Close Other Buffers" }
  22. )
  23. -- nvim-dap keymaps
  24. vim.keymap.set("n", "<Leader>db", require("dap").toggle_breakpoint, { desc = "DAP Toggle Breakpoint" })
  25. vim.keymap.set("n", "<Leader>dc", require("dap").continue, { desc = "DAP Continue" })
  26. vim.keymap.set("n", "<Leader>dsv", require("dap").step_over, { desc = "DAP Step Over" })
  27. vim.keymap.set("n", "<Leader>dsi", require("dap").step_into, { desc = "DAP Step Into" })
  28. vim.keymap.set("n", "<Leader>dso", require("dap").step_out, { desc = "DAP Step Out" })
  29. -- lsp keymaps
  30. vim.keymap.set("n", "K", vim.lsp.buf.hover, { desc = "LSP Hover" })
  31. vim.keymap.set("n", "gd", vim.lsp.buf.definition, { desc = "LSP Definition" })
  32. vim.keymap.set("n", "er", vim.diagnostic.open_float, { desc = "LSP Diagnostics" })
  33. vim.keymap.set({ "n", "v" }, "<leader>ca", vim.lsp.buf.code_action, { desc = "LSP Code Action" })
  34. vim.keymap.set("n", "<leader>gf", vim.lsp.buf.format, { desc = "LSP Format" })
  35. -- harpoon keymaps
  36. vim.keymap.set("n", "<leader>a", function()
  37. require("harpoon"):list():add()
  38. end, { desc = "Harpoon Add" })
  39. vim.keymap.set("n", "<leader>h", function()
  40. require("harpoon").ui:toggle_quick_menu(require("harpoon"):list())
  41. end, { desc = "Harpoon Menu" })
  42. -- Toggle previous & next buffers stored within Harpoon list
  43. -- vim.keymap.set("n", "<leader><S-P>", function()
  44. -- require("harpoon"):list():prev({ ui_nav_wrap = true })
  45. -- end, { desc = "Harpoon Previous" })
  46. vim.keymap.set("n", "<C-p>", function()
  47. require("harpoon"):list():next({ ui_nav_wrap = true })
  48. end, { desc = "Harpoon Next" })
  49. -- neotree keymaps
  50. vim.keymap.set("n", "<C-n>", ":Neotree filesystem toggle float<CR>", { desc = "Toggle Neotree Filesystem" })
  51. vim.keymap.set("n", "<C-b>", ":Neotree buffers toggle float<CR>", { desc = "Toggle Neotree Buffers" })
  52. -- silicon keymaps
  53. vim.api.nvim_set_keymap("v", "<leader>s", ":'<,'>Silicon<CR>", { noremap = true, silent = true, desc = "Silicon" })
  54. -- telescope keymaps
  55. vim.keymap.set("n", "<leader>ff", require("telescope.builtin").find_files, { desc = "Find Files" })
  56. vim.keymap.set("n", "<leader>fg", require("telescope.builtin").live_grep, { desc = "Live Grep" })
  57. vim.keymap.set("n", "<leader>fb", require("telescope.builtin").buffers, { desc = "Buffers" })
  58. -- nvim-tmux-navigation keymaps
  59. vim.keymap.set("n", "<C-h>", require("nvim-tmux-navigation").NvimTmuxNavigateLeft, { desc = "Tmux Navigate Left" })
  60. vim.keymap.set("n", "<C-j>", require("nvim-tmux-navigation").NvimTmuxNavigateDown, { desc = "Tmux Navigate Down" })
  61. vim.keymap.set("n", "<C-k>", require("nvim-tmux-navigation").NvimTmuxNavigateUp, { desc = "Tmux Navigate Up" })
  62. vim.keymap.set("n", "<C-l>", require("nvim-tmux-navigation").NvimTmuxNavigateRight, { desc = "Tmux Navigate Right" })
  63. -- ufo keymaps
  64. vim.keymap.set("n", "zR", require("ufo").openAllFolds, { desc = "Open all folds" })
  65. vim.keymap.set("n", "zM", require("ufo").closeAllFolds, { desc = "Close all folds" })