vim.g.mapleader = " " local keymap = vim.keymap keymap.set("n", "u", "gg0vG$", { desc = "Select the whole file open" }) keymap.set("n", "4", "0v$hy0o0p0kw", { desc = "Copy the entire line and paste just below" }) -- file management keymap.set("n", "w", ":w", { desc = "Save the current file" }) keymap.set("n", "xa", ":xa", { desc = "Save and close all the files" }) keymap.set("n", "q", ":q", { desc = "Close all the files" }) keymap.set("n", "so", ":source %", { desc = "Reload nvim" }) keymap.set("n", "no", ":noh ", { desc = "Reset search a word" }) -- increment/decrement numbers keymap.set("n", "+", "", { desc = "Increment number" }) -- increment keymap.set("n", "-", "", { desc = "Decrement number" }) -- decrement -- window management keymap.set("n", "sv", "v", { desc = "Split window vertically" }) -- split window vertically keymap.set("n", "sh", "s", { desc = "Split window horizontally" }) -- split window horizontally keymap.set("n", "se", "=", { desc = "Make splits equal size" }) -- make split windows equal width & height keymap.set("n", "sx", "close", { desc = "Close current split" }) -- close current split window keymap.set("n", "to", "tabnew", { desc = "Open new tab" }) -- open new tab keymap.set("n", "tx", "tabclose", { desc = "Close current tab" }) -- close current tab keymap.set("n", "tn", "tabn", { desc = "Go to next tab" }) -- go to next tab keymap.set("n", "tp", "tabp", { desc = "Go to previous tab" }) -- go to previous tab keymap.set("n", "tf", "tabnew %", { desc = "Open current buffer in new tab" }) -- move current buffer to new tab -- sintax fixer keymap.set("n", "sy", "gg=G", { desc = "Format current file" }) keymap.set("n", "", "10", { noremap = true, silent = true }) keymap.set("n", "", "10", { noremap = true, silent = true }) -- close current file on buffer keymap.set("n", "bd", ":bd", { desc = "Close current file on buffer" }) -- Set buftabline mappings keymap.set("n", "", ":bnext", { noremap = true, silent = true }) keymap.set("n", "", ":bprev", { noremap = true, silent = true }) -- Coding hacks keymap.set( "n", "re", "ggOimportReactfrom'react';0", { desc = "Type import react from 'react' at the top of the file" } ) keymap.set("n", ",", "$a,", { desc = "Adding ',' at the end of the line" }) keymap.set("n", ";", "$a;", { desc = "Adding ';' at the end of the line" }) keymap.set("n", "con", "oconsole.log()0w$h", { desc = "Adding console.log() on the line below" }) keymap.set("n", "x", ":!node %", { desc = "Running current project using node" }) -- Move between Tmux and Neovim splits using Alt + Arrow keys -- keymap.set("n", "", ":TmuxNavigateLeft", { noremap = true, silent = true }) -- keymap.set("n", "", ":TmuxNavigateDown", { noremap = true, silent = true }) -- keymap.set("n", "", ":TmuxNavigateUp", { noremap = true, silent = true }) -- keymap.set("n", "", ":TmuxNavigateRight", { noremap = true, silent = true }) -- Resize splits using Ctrl + Arrow keys keymap.set("n", "", ":vertical resize -5", { noremap = true, silent = true }) keymap.set("n", "", ":vertical resize +5", { noremap = true, silent = true }) keymap.set("n", "", ":resize +5", { noremap = true, silent = true }) keymap.set("n", "", ":resize -5", { noremap = true, silent = true }) -- Run and Debug Project keymap.set("n", "pr", ":RunProject", { desc = "Run Project" }) keymap.set("n", "pd", ":DebugProject", { desc = "Debug Project" }) keymap.set("v", "zn", ":CopilotChatRename", { desc = "Rename variable (Copilot Chat)" }) keymap.set("n", "zc", ":CopilotChat", { desc = "Open Copilot Chat" }) keymap.set("v", "ze", ":CopilotChatExplain", { desc = "Explain code (Copilot Chat)" }) keymap.set("v", "zr", ":CopilotChatReview", { desc = "Review code (Copilot Chat)" }) keymap.set("v", "zf", ":CopilotChatFix", { desc = "Fix code issues (Copilot Chat)" }) keymap.set("v", "zo", ":CopilotChatOptimize", { desc = "Optimize code (Copilot Chat)" }) keymap.set("v", "zd", ":CopilotChatDocs", { desc = "Generate docs (Copilot Chat)" }) -- Git Conflict Mappings 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 Mappings 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", "lls", "Leet last_submit", { desc = "LeetCode: Get latest submition" }) -- Copilot -- Add key map on normal mode to open copilot panel on c + tab keymap.set("n", "cp", ":Copilot panel", { desc = "Copilot: Open copilot panel" }) -- Add key map on normal mode to open copilot chat explain on c + shift + e keymap.set("n", "ce", ":CopilotChatExplain", { desc = "Copilot Chat: Explain code" })