This commit is contained in:
Gabriel Brown
2026-06-02 09:19:42 -04:00
parent 4c529afae7
commit ac57cfa319
5 changed files with 222 additions and 20 deletions
+108 -19
View File
@@ -14,25 +14,79 @@ pcall(vim.keymap.del, "t", "<C-l>")
pcall(vim.keymap.del, "n", "<leader>l")
-- Window navigation
vim.keymap.set({ "n", "v", "x" }, "<leader>h", "<C-w>h", { desc = "Go to left window", silent = true })
vim.keymap.set({ "n", "v", "x" }, "<leader>j", "<C-w>j", { desc = "Go to lower window", silent = true })
vim.keymap.set({ "n", "v", "x" }, "<leader>k", "<C-w>k", { desc = "Go to upper window", silent = true })
vim.keymap.set({ "n", "v", "x" }, "<leader>l", "<C-w>l", { desc = "Go to right window", silent = true })
vim.keymap.set(
{ "n", "v", "x" },
"<leader>h",
"<C-w>h",
{ desc = "Go to left window", silent = true }
)
vim.keymap.set(
{ "n", "v", "x" },
"<leader>j",
"<C-w>j",
{ desc = "Go to lower window", silent = true }
)
vim.keymap.set(
{ "n", "v", "x" },
"<leader>k",
"<C-w>k",
{ desc = "Go to upper window", silent = true }
)
vim.keymap.set(
{ "n", "v", "x" },
"<leader>l",
"<C-w>l",
{ desc = "Go to right window", silent = true }
)
-- Buffer tab navigation
vim.keymap.set("n", "<C-h>", "<cmd>BufferLineCyclePrev<cr>", { desc = "Previous buffer", silent = true })
vim.keymap.set("n", "<C-l>", "<cmd>BufferLineCycleNext<cr>", { desc = "Next buffer", silent = true })
vim.keymap.set("n", "<C-j>", "<cmd>BufferLineMovePrev<cr>", { desc = "Move buffer left", silent = true })
vim.keymap.set("n", "<C-k>", "<cmd>BufferLineMoveNext<cr>", { desc = "Move buffer right", silent = true })
vim.keymap.set("n", "<C-q>", function() Snacks.bufdelete() end, { desc = "Close buffer", silent = true })
vim.keymap.set("n", "<C-a>", function() Snacks.bufdelete.other() end, { desc = "Close other buffers", silent = true })
vim.keymap.set(
"n",
"<C-h>",
"<cmd>BufferLineCyclePrev<cr>",
{ desc = "Previous buffer", silent = true }
)
vim.keymap.set(
"n",
"<C-l>",
"<cmd>BufferLineCycleNext<cr>",
{ desc = "Next buffer", silent = true }
)
vim.keymap.set(
"n",
"<C-j>",
"<cmd>BufferLineMovePrev<cr>",
{ desc = "Move buffer left", silent = true }
)
vim.keymap.set(
"n",
"<C-k>",
"<cmd>BufferLineMoveNext<cr>",
{ desc = "Move buffer right", silent = true }
)
vim.keymap.set("n", "<C-q>", function()
Snacks.bufdelete()
end, { desc = "Close buffer", silent = true })
vim.keymap.set("n", "<C-a>", function()
Snacks.bufdelete.other()
end, { desc = "Close other buffers", silent = true })
-- Disable ex mode
vim.keymap.set("n", "Q", "<nop>")
-- Move selected lines up/down
vim.keymap.set("v", "J", ":m '>+1<CR>gv=gv", { desc = "Move selection down", silent = true })
vim.keymap.set("v", "K", ":m '<-2<CR>gv=gv", { desc = "Move selection up", silent = true })
vim.keymap.set(
"v",
"J",
":m '>+1<CR>gv=gv",
{ desc = "Move selection down", silent = true }
)
vim.keymap.set(
"v",
"K",
":m '<-2<CR>gv=gv",
{ desc = "Move selection up", silent = true }
)
-- Join line without moving cursor
vim.keymap.set("n", "J", "mzJ`z", { desc = "Join line, keep cursor" })
@@ -48,19 +102,54 @@ vim.keymap.set("n", "N", "Nzzzv", { desc = "Prev search result" })
-- Yank to system clipboard
vim.keymap.set({ "n", "v" }, "<leader>y", '"+y', { desc = "Yank to clipboard" })
vim.keymap.set("n", "<leader>Y", '"+Y', { desc = "Yank line to clipboard" })
vim.keymap.set("n", "<leader>YY", ":%y+<CR>", { desc = "Yank buffer to clipboard" })
vim.keymap.set(
"n",
"<leader>YY",
":%y+<CR>",
{ desc = "Yank buffer to clipboard" }
)
-- Delete to black hole register (no yank side effect)
vim.keymap.set({ "n", "v" }, "<leader>d", '"_d', { desc = "Delete to black hole" })
vim.keymap.set("n", "<leader>dd", '"_dd', { desc = "Delete line to black hole" })
vim.keymap.set(
{ "n", "v" },
"<leader>d",
'"_d',
{ desc = "Delete to black hole" }
)
vim.keymap.set(
"n",
"<leader>dd",
'"_dd',
{ desc = "Delete line to black hole" }
)
-- Paste from system clipboard
vim.keymap.set({ "n", "v", "x" }, "<leader>p", '"+p', { desc = "Paste from clipboard (after)" })
vim.keymap.set({ "n", "v", "x" }, "<leader>P", '"+P', { desc = "Paste from clipboard (before)" })
vim.keymap.set(
{ "n", "v", "x" },
"<leader>p",
'"+p',
{ desc = "Paste from clipboard (after)" }
)
vim.keymap.set(
{ "n", "v", "x" },
"<leader>P",
'"+P',
{ desc = "Paste from clipboard (before)" }
)
-- Paste over selection without overwriting the yank register
vim.keymap.set("x", "<leader>v", '"_dP', { desc = "Paste over selection" })
-- Utility
vim.keymap.set("n", "<leader><leader>s", ":update<CR>:source<CR>", { desc = "Save and source file" })
vim.keymap.set("n", "<leader><leader>x", ":!chmod +x %<CR>", { desc = "Make file executable" })
vim.keymap.set(
"n",
"<leader>so",
":update<CR>:source<CR>",
{ desc = "Save and source file" }
)
vim.keymap.set(
"n",
"<leader><leader>x",
":!chmod +x %<CR>",
{ desc = "Make file executable" }
)
@@ -19,6 +19,11 @@ return {
bg = colors.terminal_black,
fg = colors.fg,
}
-- Fix LspReference* readability: DiagnosticUnnecessary dims fg for unused
-- imports, making text nearly invisible against LspReferenceText's background
highlights["LspReferenceText"] = { bg = colors.fg_gutter, fg = colors.fg }
highlights["LspReferenceRead"] = { bg = colors.fg_gutter, fg = colors.fg }
highlights["LspReferenceWrite"] = { bg = colors.fg_gutter, fg = colors.fg }
end,
},
},