-- 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" }) -- ============================================================================= -- DATABASE KEYMAPS (Temporarily disabled to prevent conflicts) -- ============================================================================= -- -- Dadbod UI -- keymap.set("n", "du", "DBUI", { desc = "Open Database UI" }) -- keymap.set("n", "dul", "DBUILastQueryInfo", { desc = "Show last query info" }) -- keymap.set("n", "duf", "DBUIFindBuffer", { desc = "Find database buffer" }) -- -- Database connections -- keymap.set("n", "dua", "DBUIAddConnection", { desc = "Add database connection" }) -- keymap.set("n", "dur", "DBUIRenameBuffer", { desc = "Rename database buffer" }) -- keymap.set("n", "dud", "DBUIRefresh", { desc = "Refresh database" }) -- -- Database queries -- keymap.set("n", "due", "DBExecute", { desc = "Execute SQL query" }) -- keymap.set("n", "dus", "DBSelect", { desc = "Select SQL query" }) -- keymap.set("n", "dui", "DBInsert", { desc = "Insert SQL query" }) -- keymap.set("n", "duu", "DBUpdate", { desc = "Update SQL query" }) -- keymap.set("n", "dudel", "DBDelete", { desc = "Delete SQL query" }) -- -- Database table operations -- keymap.set("n", "dut", "DBUITableCreate", { desc = "Create table" }) -- keymap.set("n", "duti", "DBUITableIndex", { desc = "Show table indexes" }) -- keymap.set("n", "dutc", "DBUITableCount", { desc = "Count table rows" }) -- keymap.set("n", "dutx", "DBUITableExplain", { desc = "Explain table query" }) -- keymap.set("n", "dutz", "DBUITableSize", { desc = "Show table size" }) -- -- SQL formatting -- keymap.set("n", "duf", "SQLFormat", { desc = "Format SQL query" }) -- -- Database utilities -- keymap.set("n", "duh", "DBUIHideNotifications", { desc = "Hide database notifications" }) -- keymap.set("n", "dus", "DBUISaveBuffer", { desc = "Save database buffer" }) -- keymap.set("n", "dul", "DBUILoadBuffer", { desc = "Load database buffer" }) -- Redis specific keymap.set("n", "rds", "Redis", { desc = "Open Redis" }) keymap.set("n", "rdk", "RedisKeys", { desc = "Show Redis keys" }) keymap.set("n", "rdi", "RedisInfo", { desc = "Show Redis info" }) -- MongoDB specific keymap.set("n", "mdb", "MongoDB", { desc = "Open MongoDB" }) keymap.set("n", "mdc", "MongoDBConnect", { desc = "Connect to MongoDB" }) keymap.set("n", "mdd", "MongoDBDisconnect", { desc = "Disconnect from MongoDB" }) -- ============================================================================= -- NATIVE AUTO WRAPPER KEYMAPS -- ============================================================================= -- Text wrapping controls keymap.set("n", "tw", "set wrap!", { desc = "Toggle line wrapping" }) keymap.set("n", "tl", "set linebreak!", { desc = "Toggle line break" }) keymap.set("n", "tc", "set colorcolumn=80", { desc = "Show 80 char column" }) keymap.set("n", "tC", "set colorcolumn=", { desc = "Hide column guide" }) -- Format text using native Neovim commands keymap.set("n", "tf", "gqap", { desc = "Format paragraph" }) keymap.set("v", "tf", "gq", { desc = "Format selection" }) keymap.set("n", "tF", "gggqG", { desc = "Format entire file" }) -- Text width adjustments keymap.set("n", "t80", "set textwidth=80", { desc = "Set text width to 80" }) keymap.set("n", "t100", "set textwidth=100", { desc = "Set text width to 100" }) keymap.set("n", "t120", "set textwidth=120", { desc = "Set text width to 120" }) keymap.set("n", "t0", "set textwidth=0", { desc = "Disable text width" }) -- Auto-wrap controls keymap.set("n", "ta", "set formatoptions+=t", { desc = "Enable auto-wrap text" }) keymap.set("n", "tA", "set formatoptions-=t", { desc = "Disable auto-wrap text" }) keymap.set("n", "tc", "set formatoptions+=c", { desc = "Enable auto-wrap comments" }) keymap.set("n", "tC", "set formatoptions-=c", { desc = "Disable auto-wrap comments" }) -- Indent and wrap keymap.set("n", "ti", "set breakindent!", { desc = "Toggle break indent" }) keymap.set("n", "ts", "set showbreak=↪ ", { desc = "Show break indicator" }) keymap.set("n", "tS", "set showbreak=", { desc = "Hide break indicator" })