local M = {} local leader_general = { { keys = "", cmd = ":Telescope find_files", desc = "Find Files" }, { keys = "/", cmd = ":Telescope live_grep", desc = "Grep Files" }, } for _,map in ipairs(leader_general) do map.keys = "" .. map.keys table.insert(M, map) end local leader_q = { -- leader q: Quit { keys = "q", cmd = ":q", desc = "Quit" }, { keys = "Q", cmd = ":qa!", desc = "Force Quit" }, { keys = "w", cmd = ":wq", desc = "Write and Quit" }, { keys = "W", cmd = ":wall:qa!", desc = "Write all and Force Quit" }, } local leader_w = { -- leader w: Windows Management { keys = "h", cmd = "h", desc = "Left Window" }, { keys = "n", cmd = "j", desc = "Down Window" }, { keys = "e", cmd = "k", desc = "Up Window" }, { keys = "i", cmd = "l", desc = "Right Window" }, { keys = "-", cmd = ":split", desc = "Split to down" }, { keys = "|", cmd = ":vsplit", desc = "Split to right" }, { keys = "c", cmd = "c", desc = "Close Window" }, { keys = "o", cmd = "o", desc = "Close Other Windows" }, { keys = "r", cmd = "r", desc = "Rotate Windows" }, { keys = "R", cmd = "R", desc = "Reverse Rotate Windows" }, { keys = "t", cmd = "T", desc = "Move Window to New Tab" }, { keys = "H", cmd = ":vertical resize -5", desc = "Decrease Window Height" }, { keys = "N", cmd = ":resize +5", desc = "Increase Window Height" }, { keys = "E", cmd = ":vertical resize +5", desc = "Increase Window Width" }, { keys = "I", cmd = ":resize -5", desc = "Decrease Window Width" }, } local leader_f = { -- leader f: Files/Find { keys = "f", cmd = ":Telescope fd", desc = "Find Files"}, { keys = "s", cmd = ":Telescope live_grep", desc = "Grep Files"}, { keys = "b", cmd = ":Telescope buffers", desc = "List Buffers"}, { keys = "e", cmd = ":NvimTreeToggle", desc = "Toggle File Explorer" }, } local leader_p = { -- leader p: Project } local leader_b = { -- leader b: Buffer { keys = "d", cmd = ":bdelete", desc = "Delete Buffer" }, { keys = "h", cmd = ":bprevious", desc = "Previous Buffer" }, { keys = "i", cmd = ":bnext", desc = "Next Buffer" }, { keys = "H", cmd = ":bfirst", desc = "First Buffer" }, { keys = "I", cmd = ":blast", desc = "Last Buffer" }, { keys = "0", cmd = ":bfirst", desc = "First Buffer" }, { keys = "^", cmd = ":bfirst", desc = "First Buffer" }, { keys = "$", cmd = ":blast", desc = "Last Buffer" }, } for _, map in ipairs(leader_q) do map.keys = "q" .. map.keys table.insert(M, map) end for _, map in ipairs(leader_w) do map.keys = "w" .. map.keys table.insert(M, map) end for _, map in ipairs(leader_f) do map.keys = "f" .. map.keys table.insert(M, map) end for _, map in ipairs(leader_b) do map.keys = "b" .. map.keys table.insert(M, map) end return M