diff --git a/.config/nvim/lua/core/keymap.lua b/.config/nvim/lua/core/keymap.lua index 89e18d2..d7a5afa 100644 --- a/.config/nvim/lua/core/keymap.lua +++ b/.config/nvim/lua/core/keymap.lua @@ -10,16 +10,16 @@ keymap.set("n", "nh", ":nohl", { desc = "Clear search highlights" }) -- ────────────────────────────[ formatting ]───────────────────────── keymap.set({ "n", "v" }, "mp", function() - require("conform").format({ - lsp_fallback = true, - async = false, - timeout_ms = 1000, - }) + require("conform").format({ + lsp_fallback = true, + async = false, + timeout_ms = 1000, + }) end, { desc = "Format file or range (in visual mode)" }) -- ──────────────────────────────[ linting ]────────────────────────────── keymap.set("n", "l", function() - require("lint").try_lint() + require("lint").try_lint() end, { desc = "Trigger linting for current file" }) -- ──────────────────────────[ inc/dec numbers ]────────────────────────── @@ -60,52 +60,73 @@ keymap.set("n", "ws", "SessionSave", { desc = "Save session for -- ───────────────────────────────[ diff ]──────────────────────────── keymap.set("n", "hd", function() - require("gitsigns").diffthis() + require("gitsigns").diffthis() end, { desc = "Diff this" }) keymap.set("n", "hD", function() - require("gitsigns").diffthis("~") + require("gitsigns").diffthis("~") end, { desc = "Diff this ~" }) -- ───────────────────────────[ todo comments ]─────────────────────────── keymap.set("n", "]t", function() - require("todo-comments").jump_next() + require("todo-comments").jump_next() end, { desc = "Next todo comment" }) keymap.set("n", "[t", function() - require("todo-comments").jump_prev() + require("todo-comments").jump_prev() end, { desc = "Previous todo comment" }) -- ──────────────────────────────[ trouble ]────────────────────────────── keymap.set("n", "xw", "Trouble diagnostics toggle", { desc = "Open trouble workspace diagnostics" }) keymap.set( - "n", - "xd", - "Trouble diagnostics toggle filter.buf=0", - { desc = "Open trouble document diagnostics" } + "n", + "xd", + "Trouble diagnostics toggle filter.buf=0", + { desc = "Open trouble document diagnostics" } ) keymap.set("n", "xq", "Trouble quickfix toggle", { desc = "Open trouble quickfix list" }) keymap.set("n", "xl", "Trouble loclist toggle", { desc = "Open trouble location list" }) keymap.set("n", "xt", "Trouble todo toggle", { desc = "Open todos in trouble" }) -- ─────────────────────────────[ telescope ]───────────────────────────── -keymap.set("n", "ff", "Telescope find_files", { desc = "Fuzzy find files in cwd" }) -keymap.set("n", "fr", "Telescope oldfiles", { desc = "Fuzzy find recent files" }) +keymap.set( + "n", + "ff", + "Telescope find_files initial_mode=normal sort_mru=true sort_lastused=true select_current=true", + { desc = "Fuzzy find files in cwd" } +) +keymap.set( + "n", + "fr", + "Telescope oldfiles initial_mode=normal sort_mru=true sort_lastused=true select_current=true", + { desc = "Fuzzy find recent files" } +) keymap.set("n", "fs", "Telescope live_grep", { desc = "Find string in cwd" }) keymap.set("n", "fc", "Telescope grep_string", { desc = "Find string under cursor in cwd" }) -keymap.set("n", "ft", "TodoTelescope", { desc = "Find todos" }) +keymap.set( + "n", + "ft", + "TodoTelescope initial_mode=normal sort_mru=true sort_lastused=true select_current=true", + { desc = "Find todos" } +) +keymap.set( + "n", + "bb", + "Telescope buffers initial_mode=normal sort_mru=true sort_lastused=true select_current=true", + { desc = "Select from open buffers" } +) -- ────────────────────────────[ substitute ]───────────────────────── keymap.set("n", "s", function() - require("substitute").operator() + require("substitute").operator() end, { desc = "Substitute with motion" }) keymap.set("n", "ss", function() - require("substitute").line() + require("substitute").line() end, { desc = "Substitute line" }) keymap.set("n", "S", function() - require("substitute").line() + require("substitute").line() end, { desc = "Substitute to end of line" }) keymap.set("x", "s", function() - require("substitute").visual() + require("substitute").visual() end, { desc = "Substitute in visual mode" }) -- ─────────────────────────────[ nvim-tree ]───────────────────────────── @@ -117,40 +138,40 @@ keymap.set("n", "er", "NvimTreeRefresh", { desc = "Refresh file -- ────────────────────────────────[ git ]──────────────────────────────── keymap.set("n", "lg", "LazyGit", { desc = "Open LazyGit" }) keymap.set("n", "]h", function() - require("gitsigns").nav_hunk("next") + require("gitsigns").nav_hunk("next") end, { desc = "Next hunk" }) keymap.set("n", "[h", function() - require("gitsigns").nav_hunk("prev") + require("gitsigns").nav_hunk("prev") end, { desc = "Prev hunk" }) keymap.set("n", "hs", function() - require("gitsigns").stage_hunk() + require("gitsigns").stage_hunk() end, { desc = "Stage Hunk" }) keymap.set("n", "hr", function() - require("gitsigns").reset_hunk() + require("gitsigns").reset_hunk() end, { desc = "Reset Hunk" }) keymap.set("v", "hs", function() - require("gitsigns").stage_hunk({ vim.fn.line("."), vim.fn.line("v") }) + require("gitsigns").stage_hunk({ vim.fn.line("."), vim.fn.line("v") }) end, { desc = "Stage Hunk" }) keymap.set("v", "hr", function() - require("gitsigns").reset_hunk({ vim.fn.line("."), vim.fn.line("v") }) + require("gitsigns").reset_hunk({ vim.fn.line("."), vim.fn.line("v") }) end, { desc = "Reset Hunk" }) keymap.set("n", "hS", function() - require("gitsigns").stage_buffer() + require("gitsigns").stage_buffer() end, { desc = "Stage buffer" }) keymap.set("n", "hR", function() - require("gitsigns").reset_buffer() + require("gitsigns").reset_buffer() end, { desc = "Reset buffer" }) keymap.set("n", "hu", function() - require("gitsigns").undo_stage_hunk() + require("gitsigns").undo_stage_hunk() end, { desc = "Undo stage hunk" }) keymap.set("n", "hp", function() - require("gitsigns").preview_hunk() + require("gitsigns").preview_hunk() end, { desc = "Preview hunk" }) keymap.set("n", "hb", function() - require("gitsigns").blame_line({ full = true }) + require("gitsigns").blame_line({ full = true }) end, { desc = "Blame line" }) keymap.set("n", "hB", function() - require("gitsigns").toggle_current_line_blame() + require("gitsigns").toggle_current_line_blame() end, { desc = "Toggle line blame" }) keymap.set({ "o", "x" }, "ih", ":Gitsigns select_hunk", { desc = "Gitsigns select hunk" })