diff --git a/tools/nvim/lua/keymaps/leaders.lua b/tools/nvim/lua/keymaps/leaders.lua index 89823ff..edc603a 100644 --- a/tools/nvim/lua/keymaps/leaders.lua +++ b/tools/nvim/lua/keymaps/leaders.lua @@ -51,13 +51,31 @@ local leader_mappings = { { keys = "n", cmd = "j", opts = { desc = "Down Window" } }, { keys = "e", cmd = "k", opts = { desc = "Up Window" } }, { keys = "i", cmd = "l", opts = { desc = "Right Window" } }, + { keys = "F", cmd = ":NvimTreeFindFileToggle", opts = { desc = "Toggle File Explorer" } }, { keys = "", cmd = "b#", opts = { desc = "Switch to last buffer" } }, - { keys = "!", cmd = ":FloatermToggle", opts = { desc = "" } }, + { keys = "!", cmd = ":FloatermToggle", opts = { desc = "Toggle Terminal" } }, + { keys = '"', cmd = ":!wezterm-gui &", pots = { desc = "Open External Terminal(wezterm)" } }, }, b = { -- +buffer + { keys = "0", cmd = "b#", opts = { desc = "Switch to last buffer" } }, + { keys = "1", cmd = ":BufferLineGotoBuffer 1", opts = { desc = "Switch to Buffer #1" } }, + { keys = "2", cmd = ":BufferLineGotoBuffer 2", opts = { desc = "Switch to Buffer #2" } }, + { keys = "3", cmd = ":BufferLineGotoBuffer 3", opts = { desc = "Switch to Buffer #3" } }, + { keys = "4", cmd = ":BufferLineGotoBuffer 4", opts = { desc = "Switch to Buffer #4" } }, + { keys = "5", cmd = ":BufferLineGotoBuffer 5", opts = { desc = "Switch to Buffer #5" } }, + { keys = "6", cmd = ":BufferLineGotoBuffer 6", opts = { desc = "Switch to Buffer #6" } }, + { keys = "7", cmd = ":BufferLineGotoBuffer 7", opts = { desc = "Switch to Buffer #7" } }, + { keys = "8", cmd = ":BufferLineGotoBuffer 8", opts = { desc = "Switch to Buffer #8" } }, + { keys = "9", cmd = ":BufferLineGotoBuffer 9", opts = { desc = "Switch to Buffer #9" } }, { keys = "a", cmd = ":Alpha", opts = { desc = "Dashboard" } }, - { keys = "b", cmd = ":Telescope buffers", opts = { desc = "List Buffers" } }, + { keys = "b", cmd = ":BufferLinePick", opts = { desc = "Quick Switch Buffers" } }, + { keys = "B", cmd = ":Telescope buffers", opts = { desc = "List Buffers" } }, { keys = "d", cmd = ":bdelete", opts = { desc = "Delete Buffer" } }, + { keys = "D", cmd = ":BufferLineCloseOthers", opts = { desc = "Delete Other Buffers" } }, + { keys = "xx", cmd = ":BufferLineCloseOthers", opts = { desc = "Delete Other Buffers" } }, + { keys = "xh", cmd = ":BufferLineCloseLeft", opts = { desc = "Delete Buffers Left" } }, + { keys = "xi", cmd = ":BufferLineCloseRight", opts = { desc = "Delete Buffers Right" } }, + { keys = "X", cmd = ":BufferLineCloseOthers", opts = { desc = "Delete Other Buffers" } }, { keys = "h", cmd = ":bprevious", opts = { desc = "Previous Buffer" } }, { keys = "i", cmd = ":bnext", opts = { desc = "Next Buffer" } }, { keys = "H", cmd = ":bfirst", opts = { desc = "First Buffer" } }, @@ -65,7 +83,9 @@ local leader_mappings = { { keys = "0", cmd = ":bfirst", opts = { desc = "First Buffer" } }, { keys = "^", cmd = ":bfirst", opts = { desc = "First Buffer" } }, { keys = "$", cmd = ":blast", opts = { desc = "Last Buffer" } }, - -- { keys = "s", cmd = ":Telescope buffers", opts = { desc = "Search buffers" } }, + { keys = "s", cmd = ":new", opts = { desc = "Scratch buffers" } }, + { keys = "t", cmd = ":BufferLineTogglePin", opts = { desc = "Pin Buffer" } }, + { keys = "y", cmd = ":%y+", opts = { desc = "Copy Buffer to Clipboard" } }, }, c = { -- +code/compile { keys = "r", cmd = ":RunCode", opts = { desc = "Run code" } }, @@ -76,15 +96,44 @@ local leader_mappings = { }, f = { -- +file/find { keys = "f", cmd = ":Telescope fd", opts = { desc = "Find Files" } }, - { keys = "s", cmd = ":Telescope live_grep", opts = { desc = "Grep Files" } }, + { keys = "F", cmd = ":Telescope live_grep", opts = { desc = "Grep Files" } }, + { keys = "l", cmd = ":set filetype=", opts = { desc = "Set Filetype to ..." } }, + { keys = "n", cmd = ":new", opts = { desc = "New File" } }, + { keys = "s", cmd = ":write", opts = { desc = "Save File" } }, + { keys = "S", cmd = ":wall", opts = { desc = "Save All Files" } }, { keys = "b", cmd = ":Telescope buffers", opts = { desc = "List Buffers" } }, - { keys = "e", cmd = ":NvimTreeToggle", opts = { desc = "Toggle File Explorer" } }, - { keys = "t", cmd = ":FloatermToggle", opts = { desc = "toggle visibility of the float terminal" } }, + { keys = "D", cmd = "!trash-rm %", opts = { desc = "Delete current file" } }, + { keys = "t", cmd = ":NvimTreeFindFileToggle", opts = { desc = "Toggle File Tree" } }, { keys = "T", cmd = ":FloatermNew", opts = { desc = "Spawn a float terminal" } }, { keys = "h", cmd = ":Telescope oldfiles", opts = { desc = "Search history files" } }, { keys = "c", cmd = ":Telescope find_files cwd=~/.config/nvim", opts = { desc = "Search Config" } }, - { keys = "o", cmd = ":!open %", opts = { desc = "Open file in default program" } }, + { keys = "o", cmd = ":!open %", opts = { desc = "Open file in default program" } }, { keys = "R", cmd = renameCurrentBuffer, opts = { desc = "Rename current file" } }, + { keys = "x", cmd = ":Lazy", opts = { desc = "Open extension view" } }, + { keys = "yy", cmd = ":let @+ = expand('%:p')", opts = { desc = "Copy file path" } }, + { keys = "yY", cmd = ":let @+ = expand('%')", opts = { desc = "Copy relative file path" } }, + { keys = "yn", cmd = ":let @+ = expand('%:t')", opts = { desc = "Copy file name" } }, + { keys = "yN", cmd = ":let @+ = expand('%:t:r')", opts = { desc = "Copy file name without extension" } }, + { keys = "yd", cmd = ":let @+ = expand('%:p:h')", opts = { desc = "Copy directory path" } }, + { + keys = "yl", + cmd = ":let @+ = expand('%:p') . ':' . line('.')", + opts = { desc = "Copy file path with line number" }, + }, + { + keys = "yL", + cmd = ":let @+ = expand('%') . ':' . line('.')", + opts = { desc = "Copy relative file path with line number" }, + }, + }, + g = { -- +git/version control + { keys = "g", cmd = ":LazyGit", opts = { desc = "Toggle LazyGit" } }, + { keys = "c", cmd = ":Telescope git_commits", opts = { desc = "Show commits" } }, + { keys = "b", cmd = ":Gitsigns blame", opts = { desc = "Blame file" } }, + { keys = "d", cmd = ":Gitsigns diffthis", opts = { desc = "Diff file" } }, + { keys = "B", cmd = ":Gitsigns toggle_current_line_blame", opts = { desc = "Toggle line blame" } }, + { keys = "s", cmd = ":Telescope git_status", opts = { desc = "Git Status" } }, + { keys = "t", cmd = ":Telescope git_branches", opts = { desc = "Git Branches" } }, }, p = { -- +project { keys = "p", cmd = ":Telescope projects", opts = { desc = "List all Projects" } }, @@ -97,30 +146,35 @@ local leader_mappings = { { keys = "w", cmd = ":wq", opts = { desc = "Write and Quit" } }, { keys = "W", cmd = ":wall:qa!", opts = { desc = "Write all and Force Quit" } }, }, - t = { -- +toggle + t = { -- +toggle/test { keys = "f", cmd = ":NvimTreeToggle", opts = { desc = "Toggle File Explorer" } }, { keys = "F", cmd = ":FormatToggle", opts = { desc = "Toggle autoformat-on-save" } }, { keys = "t", cmd = ":FloatermToggle", opts = { desc = "toggle visibility of the float terminal" } }, }, u = { -- +ui { keys = "i", cmd = ":Telescope colorscheme", opts = { desc = "Change colorscheme" } }, + { keys = " ", cmd = ":set list!", opts = { desc = "Toggle show all symbols" } }, }, w = { -- +window { keys = "h", cmd = "h", opts = { desc = "Left Window" } }, { keys = "n", cmd = "j", opts = { desc = "Down Window" } }, { keys = "e", cmd = "k", opts = { desc = "Up Window" } }, { keys = "i", cmd = "l", opts = { desc = "Right Window" } }, + { keys = "H", cmd = "H", opts = { desc = "Move Window Left" } }, + { keys = "N", cmd = "J", opts = { desc = "Move Window Down" } }, + { keys = "E", cmd = "K", opts = { desc = "Move Window Up" } }, + { keys = "I", cmd = "L", opts = { desc = "Move Window Right" } }, { keys = "-", cmd = ":split", opts = { desc = "Split to down" } }, { keys = "|", cmd = ":vsplit", opts = { desc = "Split to right" } }, - { keys = "c", cmd = "c", opts = { desc = "Close Window" } }, - { keys = "o", cmd = "o", opts = { desc = "Close Other Windows" } }, + { keys = "/", cmd = ":vsplit", opts = { desc = "Split to right" } }, + { keys = "d", cmd = "c", opts = { desc = "Close Window" } }, + { keys = "D", cmd = "o", opts = { desc = "Close Other Windows" } }, { keys = "r", cmd = "r", opts = { desc = "Rotate Windows" } }, { keys = "R", cmd = "R", opts = { desc = "Reverse Rotate Windows" } }, { keys = "t", cmd = "T", opts = { desc = "Move Window to New Tab" } }, - { keys = "H", cmd = ":vertical resize -5", opts = { desc = "Decrease Window Height" } }, - { keys = "N", cmd = ":resize +5", opts = { desc = "Increase Window Height" } }, - { keys = "E", cmd = ":vertical resize +5", opts = { desc = "Increase Window Width" } }, - { keys = "I", cmd = ":resize -5", opts = { desc = "Decrease Window Width" } }, + { keys = "]", cmd = ":resize +5", opts = { desc = "Increase Window Size" } }, + { keys = "[", cmd = ":resize -5", opts = { desc = "Decrease Window Size" } }, + { keys = "M", cmd = ":resize:vertical resize", opts = { desc = "Maximize window size" } }, }, }