36 lines
1.2 KiB
Lua
36 lines
1.2 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" })
|