Files
nvim/lua/config/keymaps.lua
T

41 lines
1.4 KiB
Lua

local map = vim.keymap.set
-- Save/Quit
map("n", "<leader>w", "<cmd>w<cr>", { desc = "Save" })
map("n", "<leader>q", "<cmd>q<cr>", { desc = "Quit" })
-- Better movement with wrapped lines (just in case you turn wrap on)
map("n", "j", "gj", { noremap = true })
map("n", "k", "gk", { noremap = true })
-- Clear search highlight
map("n", "<leader>h", "<cmd>nohlsearch<cr>", { desc = "No highlight" })
-- Diagnostics
map("n", "[d", vim.diagnostic.goto_prev, { desc = "Prev diagnostic" })
map("n", "]d", vim.diagnostic.goto_next, { desc = "Next diagnostic" })
map("n", "<leader>e", vim.diagnostic.open_float, { desc = "Diagnostic float" })
-- Window navigation
map("n", "<C-h>", "<C-w>h", { desc = "Left window" })
map("n", "<C-j>", "<C-w>j", { desc = "Down window" })
map("n", "<C-k>", "<C-w>k", { desc = "Up window" })
map("n", "<C-l>", "<C-w>l", { desc = "Right window" })
local diagnostics_visible = true
map("n", "<leader>td", function()
diagnostics_visible = not diagnostics_visible
vim.diagnostic.config({
virtual_text = diagnostics_visible,
})
end, { desc = "Toggle inline diagnostics" })
vim.keymap.set("n", "]b", "<cmd>bnext<cr>", { desc = "Next buffer" })
vim.keymap.set("n", "[b", "<cmd>bprevious<cr>", { desc = "Previous buffer" })
-- Toggle terminal in a bottom split
vim.keymap.set("n", "<leader>tt", function()
vim.cmd("botright split | resize 15 | terminal")
end, { desc = "Open terminal (bottom split)" })