-- Plugin-specific keymaps local keymap = vim.keymap -- ============================================================================= -- PLUGIN KEYMAPS -- ============================================================================= -- NvimTree keymap.set("n", "e", "NvimTreeToggle", { desc = "Toggle file explorer" }) -- Buffer management keymap.set("n", "", ":bnext", { noremap = true, silent = true }) keymap.set("n", "", ":bprevious", { noremap = true, silent = true }) -- Comment keymap.set("n", "/", "lua require('Comment.api').toggle_current_linewise()", { desc = "Toggle comment" }) keymap.set("v", "/", "lua require('Comment.api').toggle_linewise_op(vim.fn.visualmode())", { desc = "Toggle comment" }) -- Git keymap.set("n", "gg", "LazyGit", { desc = "LazyGit" }) -- DAP keymap.set("n", "db", "lua require'dap'.toggle_breakpoint()", { desc = "Toggle breakpoint" }) keymap.set("n", "dc", "lua require'dap'.continue()", { desc = "Continue" }) keymap.set("n", "di", "lua require'dap'.step_into()", { desc = "Step into" }) keymap.set("n", "do", "lua require'dap'.step_over()", { desc = "Step over" }) keymap.set("n", "dO", "lua require'dap'.step_out()", { desc = "Step out" }) keymap.set("n", "dr", "lua require'dap'.repl.toggle()", { desc = "Toggle REPL" }) keymap.set("n", "dl", "lua require'dap'.run_last()", { desc = "Run last" }) keymap.set("n", "du", "lua require'dapui'.toggle()", { desc = "Toggle DAP UI" }) keymap.set("n", "dt", "lua require'dapui'.float_element()", { desc = "Float element" }) -- Trouble keymap.set("n", "xx", "TroubleToggle", { desc = "Toggle Trouble" }) keymap.set("n", "xw", "TroubleToggle workspace_diagnostics", { desc = "Workspace diagnostics" }) keymap.set("n", "xd", "TroubleToggle document_diagnostics", { desc = "Document diagnostics" }) keymap.set("n", "xl", "TroubleToggle loclist", { desc = "Location list" }) keymap.set("n", "xq", "TroubleToggle quickfix", { desc = "Quickfix list" }) -- Terminal keymap.set("n", "tf", "ToggleTerm direction=float", { desc = "ToggleTerm float" }) keymap.set("n", "th", "ToggleTerm size=10 direction=horizontal", { desc = "ToggleTerm horizontal split" }) keymap.set("n", "tv", "ToggleTerm size=80 direction=vertical", { desc = "ToggleTerm vertical split" }) -- Session management keymap.set("n", "ss", "SessionSave", { desc = "Save session" }) keymap.set("n", "sr", "SessionRestore", { desc = "Restore session" }) -- Formatting keymap.set("n", "f", "lua vim.lsp.buf.format()", { desc = "Format buffer" }) -- Substitute keymap.set("n", "s", "lua require('substitute').operator()", { desc = "Substitute with motion" }) keymap.set("n", "ss", "lua require('substitute').line()", { desc = "Substitute line" }) keymap.set("n", "S", "lua require('substitute').eol()", { desc = "Substitute to end of line" }) -- Surround keymap.set("n", "sa", "lua require('nvim-surround').surround_add()", { desc = "Add surrounding" }) keymap.set("n", "sd", "lua require('nvim-surround').surround_delete()", { desc = "Delete surrounding" }) keymap.set("n", "sr", "lua require('nvim-surround').surround_replace()", { desc = "Replace surrounding" }) -- Git conflicts keymap.set("n", "]x", "(git-conflict-next-conflict)", { desc = "Go to next git conflict" }) keymap.set("n", "[x", "(git-conflict-prev-conflict)", { desc = "Go to previous git conflict" }) keymap.set("n", "co", "(git-conflict-ours)", { desc = "Choose ours (git conflict)" }) keymap.set("n", "ct", "(git-conflict-theirs)", { desc = "Choose theirs (git conflict)" }) keymap.set("n", "cb", "(git-conflict-both)", { desc = "Choose both (git conflict)" }) keymap.set("n", "c0", "(git-conflict-none)", { desc = "Choose none (git conflict)" }) keymap.set("n", "cq", "(git-conflict-list)", { desc = "List all git conflicts" }) -- LeetCode keymap.set("n", "lr", "Leet run", { desc = "LeetCode: Run Code" }) keymap.set("n", "ls", "Leet submit", { desc = "LeetCode: Submit Code" }) keymap.set("n", "ld", "Leet daily", { desc = "LeetCode: Daily Challenge" }) keymap.set("n", "ll", "Leet list", { desc = "LeetCode: List Problems" }) keymap.set("n", "lc", "Leet console", { desc = "LeetCode: Open Console" }) keymap.set("n", "lu", "Leet cookie update", { desc = "LeetCode: Update Cookie" }) keymap.set("n", "lh", "Leet hints", { desc = "LeetCode: Open hints" }) keymap.set("n", "lls", "Leet last", { desc = "LeetCode: Get latest submission" }) -- Linting keymap.set("n", "l", "Lint", { desc = "Lint current file" }) -- Project commands keymap.set("n", "p", "lua require('cargdev.core.function.project_commands').run_project()", { desc = "Run project" }) -- Console log (different from personal con) keymap.set("n", "cl", "oconsole.log()i", { desc = "Add console.log" }) -- DAP UI reset keymap.set("n", "drt", "lua require('dapui').float_element()", { desc = "Reset DAP UI layout" }) -- DAP commands keymap.set("n", "dco", "lua require('dap').commands()", { desc = "DAP commands" }) keymap.set("n", "dcf", "lua require('dap').list_breakpoints()", { desc = "DAP configs" }) keymap.set("n", "dcb", "lua require('dap').list_breakpoints()", { desc = "List breakpoints" }) -- Step out keymap.set("n", "dot", "lua require('dap').step_out()", { desc = "Step out" }) -- Todos in trouble keymap.set("n", "xt", "TodoTrouble", { desc = "Open todos in trouble" }) -- Surround mappings keymap.set("n", "ys", "lua require('nvim-surround').surround_add()", { desc = "Add surrounding" }) keymap.set("n", "yss", "lua require('nvim-surround').surround_add()", { desc = "Add surrounding to line" }) keymap.set("n", "yS", "lua require('nvim-surround').surround_add()", { desc = "Add surrounding on new lines" }) keymap.set("n", "ySS", "lua require('nvim-surround').surround_add()", { desc = "Add surrounding to line on new lines" }) -- Comment mappings keymap.set("n", "gc", "lua require('Comment.api').toggle_current_linewise()", { desc = "Toggle comment" }) keymap.set("n", "gcc", "lua require('Comment.api').toggle_current_linewise()", { desc = "Toggle current line comment" }) keymap.set("n", "gco", "lua require('Comment.api').insert_below()", { desc = "Insert comment below" }) keymap.set("n", "gcO", "lua require('Comment.api').insert_above()", { desc = "Insert comment above" }) keymap.set("n", "gcA", "lua require('Comment.api').insert_eol()", { desc = "Insert comment at end of line" }) keymap.set("n", "gb", "lua require('Comment.api').toggle_current_blockwise()", { desc = "Toggle block comment" }) keymap.set("n", "gbc", "lua require('Comment.api').toggle_current_blockwise()", { desc = "Toggle current block comment" })