Moved key definition left throughout config to keys.lua

This commit is contained in:
2025-12-22 11:54:31 +00:00
parent 106b39ecbc
commit 6578f0a610
5 changed files with 80 additions and 44 deletions

View File

@@ -65,7 +65,6 @@ vim.opt.cursorline = true -- Show which line your cursor is on
vim.opt.scrolloff = 4 -- Minimal number of screen lines to keep above and below the cursor.
-- Set highlight on search, but clear on pressing <Esc> in normal mode
vim.opt.hlsearch = true
vim.keymap.set("n", "<Esc>", "<cmd>nohlsearch<CR>")
-- Highlight when yanking (copying) text
vim.api.nvim_create_autocmd("TextYankPost", {

View File

@@ -81,6 +81,25 @@ return {
expr = true,
},
},
globals = {
-- Window Navigation
{ "<A-h>", "<C-w>h", desc = "Window Left" },
{ "<A-j>", "<C-w>j", desc = "Window Down" },
{ "<A-k>", "<C-w>k", desc = "Window Up" },
{ "<A-l>", "<C-w>l", desc = "Window Right" },
-- Window Resizing
{ "<A-=>", "<C-w>+", desc = "Resize Increase Height" },
{ "<A-->", "<C-w>-", desc = "Resize Decrease Height" },
{ "<A-.>", "<C-w>>", desc = "Resize Increase Width" },
{ "<A-,>", "<C-w><", desc = "Resize Decrease Width" },
-- Splits
{ "<A-n>", "<C-w>s", desc = "Split Window Horizontal" },
{ "<A-;>", "<C-w>x", desc = "Swap Window" },
{ "<A-q>", ":q<CR>", desc = "Close Window" },
-- Misc
{ "<Esc>", "<cmd>nohlsearch<CR>", desc = "Clear Highlight" },
{ "<leader>d", vim.diagnostic.open_float, desc = "[D]iagnostics" },
},
harpoon = {
{
"<leader>ha",
@@ -158,6 +177,48 @@ return {
mode = "n",
},
},
lsp = {
{
"gd",
function() require("telescope.builtin").lsp_definitions() end,
desc = "[G]oto [D]efinition"
},
{
"gr",
function() require("telescope.builtin").lsp_references() end,
desc = "[G]oto [R]eferences"
},
{
"gI",
function() require("telescope.builtin").lsp_implementations() end,
desc = "[G]oto [I]mplementation"
},
{
"<leader>D",
function() require("telescope.builtin").lsp_type_definitions() end,
desc = "Type [D]efinition"
},
{
"<leader>ds",
function() require("telescope.builtin").lsp_document_symbols() end,
desc = "Document [S]ymbols"
},
{
"<leader>ws",
function() require("telescope.builtin").lsp_dynamic_workspace_symbols() end,
desc = "[W]orkspace [S]ymbols"
},
{ "<leader>rn", vim.lsp.buf.rename, desc = "[R]e[n]ame" },
{ "<leader>ca", vim.lsp.buf.code_action, desc = "[C]ode [A]ction" },
{ "K", vim.lsp.buf.hover, desc = "Hover Documentation" },
{ "gD", vim.lsp.buf.declaration, desc = "[G]oto [D]eclaration" },
{ "<leader>f", vim.lsp.buf.format, desc = "[F]ormat" },
{
"<leader>ci",
function() vim.lsp.inlay_hint.enable(not vim.lsp.inlay_hint.is_enabled()) end,
desc = "[I]nlay Hints"
},
},
neogen = {
{
"<Leader>gd",
@@ -437,4 +498,7 @@ return {
desc = "Toggle Rainbow Delimiters"
},
},
undotree = {
{ "U", vim.cmd.UndotreeToggle, desc = "[U]ndotree" },
},
}

View File

@@ -1,27 +1,9 @@
vim.keymap.set("n", "<A-h>", "<C-w>h", { noremap = true, silent = true })
vim.keymap.set("n", "<A-j>", "<C-w>j", { noremap = true, silent = true })
vim.keymap.set("n", "<A-k>", "<C-w>k", { noremap = true, silent = true })
vim.keymap.set("n", "<A-l>", "<C-w>l", { noremap = true, silent = true })
vim.keymap.set("n", "<A-Left>", "<C-w>h", { noremap = true, silent = true })
vim.keymap.set("n", "<A-Down>", "<C-w>j", { noremap = true, silent = true })
vim.keymap.set("n", "<A-Up>", "<C-w>k", { noremap = true, silent = true })
vim.keymap.set("n", "<A-Right>", "<C-w>l", { noremap = true, silent = true })
vim.keymap.set("n", "<A-=>", "<C-w>+", { noremap = true, silent = true })
vim.keymap.set("n", "<A-->", "<C-w>-", { noremap = true, silent = true })
vim.keymap.set("n", "<A-.>", "<C-w>>", { noremap = true, silent = true })
vim.keymap.set("n", "<A-,>", "<C-w><", { noremap = true, silent = true })
vim.keymap.set("n", "<A-n>", "<C-w>s", { noremap = true, silent = true })
-- This keymap isn't ideal but its the best i can figure out right now
vim.keymap.set("n", "<A-;>", "<C-w>x", { noremap = true, silent = true })
vim.keymap.set("n", "<A-q>", ":q<CR>", { noremap = true, silent = true })
-- Non standard key mappings are here
vim.keymap.set("n", "<leader>d", vim.diagnostic.open_float, { desc = "[D]iagnostics" })
vim.keymap.set("n", "<leader>f", vim.lsp.buf.format, { desc = "[F]ormat" })
vim.keymap.set(
"n",
"<leader>ci",
function()
vim.lsp.inlay_hint.enable(not vim.lsp.inlay_hint.is_enabled())
end,
{ desc = "[I]nlay Hints" }
)
local keys = require("config.keys").globals
for _, map in ipairs(keys) do
vim.keymap.set("n", map[1], map[2], {
noremap = true,
silent = true,
desc = map.desc
})
end

View File

@@ -11,19 +11,13 @@ return {
vim.api.nvim_create_autocmd("LspAttach", {
group = vim.api.nvim_create_augroup("kickstart-lsp-attach", { clear = true }),
callback = function(event)
local map = function(keys, func, desc)
vim.keymap.set("n", keys, func, { buffer = event.buf, desc = "LSP: " .. desc })
local lsp_keys = require("config.keys").lsp
for _, map in ipairs(lsp_keys) do
vim.keymap.set("n", map[1], map[2], {
buffer = event.buf,
desc = "LSP: " .. map.desc
})
end
map("gd", require("telescope.builtin").lsp_definitions, "[G]oto [D]efinition")
map("gr", require("telescope.builtin").lsp_references, "[G]oto [R]eferences")
map("gI", require("telescope.builtin").lsp_implementations, "[G]oto [I]mplementation")
map("<leader>D", require("telescope.builtin").lsp_type_definitions, "Type [D]efinition")
map("<leader>ds", require("telescope.builtin").lsp_document_symbols, "Document [S]ymbols")
map("<leader>ws", require("telescope.builtin").lsp_dynamic_workspace_symbols, "[W]orkspace [S]ymbols")
map("<leader>rn", vim.lsp.buf.rename, "[R]e[n]ame")
map("<leader>ca", vim.lsp.buf.code_action, "[C]ode [A]ction")
map("K", vim.lsp.buf.hover, "Hover Documentation")
map("gD", vim.lsp.buf.declaration, "[G]oto [D]eclaration")
local client = vim.lsp.get_client_by_id(event.data.client_id)
if client and client.server_capabilities.documentHighlightProvider then

View File

@@ -134,10 +134,7 @@ return { -- General programming utilities go here
{ -- Undo tree
"mbbill/undotree",
event = "VeryLazy",
opts = {},
config = function()
vim.keymap.set("n", "U", vim.cmd.UndotreeToggle, { desc = "[U]ndotree" })
end,
keys = require("config.keys").undotree,
},
{ -- Add Overseer as a task running tool
"stevearc/overseer.nvim",