keymaps.lua (1729B)
1 local map = vim.keymap.set 2 3 -- Split navigation 4 map("n", "<C-h>", "<C-w>h") 5 map("n", "<C-l>", "<C-w>l") 6 map("n", "<C-j>", "<C-w>j") 7 map("n", "<C-k>", "<C-w>k") 8 9 -- Natural line movement 10 map({ "n", "x" }, "j", "v:count == 0 ? 'gj' : 'j'", { expr = true, silent = true }) 11 map({ "n", "x" }, "k", "v:count == 0 ? 'gk' : 'k'", { expr = true, silent = true }) 12 13 -- Escape clears search highlight 14 map("n", "<Esc>", "<cmd>nohlsearch<CR>") 15 16 -- File ops 17 map("n", "<leader>w", "<cmd>write<CR>", { desc = "Save" }) 18 map("n", "<leader>q", "<cmd>quit<CR>", { desc = "Quit" }) 19 20 -- Buffer navigation 21 map("n", "<S-h>", "<cmd>bprevious<CR>", { desc = "Prev buffer" }) 22 map("n", "<S-l>", "<cmd>bnext<CR>", { desc = "Next buffer" }) 23 24 -- Stay in visual mode after indent 25 map("v", "<", "<gv") 26 map("v", ">", ">gv") 27 28 -- Move lines 29 map("n", "<A-j>", "<cmd>m .+1<CR>==") 30 map("n", "<A-k>", "<cmd>m .-2<CR>==") 31 map("v", "<A-j>", ":m '>+1<CR>gv=gv") 32 map("v", "<A-k>", ":m '<-2<CR>gv=gv") 33 34 -- Telescope 35 map("n", "<leader>ff", "<cmd>Telescope find_files<CR>", { desc = "Find files" }) 36 map("n", "<leader>fg", "<cmd>Telescope live_grep<CR>", { desc = "Live grep" }) 37 map("n", "<leader>fb", "<cmd>Telescope buffers<CR>", { desc = "Buffers" }) 38 map("n", "<leader>fr", "<cmd>Telescope oldfiles<CR>", { desc = "Recent files" }) 39 40 -- Diagnostics 41 map("n", "<leader>d", vim.diagnostic.open_float, { desc = "Show diagnostic" }) 42 map("n", "[d", vim.diagnostic.goto_prev, { desc = "Prev diagnostic" }) 43 map("n", "]d", vim.diagnostic.goto_next, { desc = "Next diagnostic" }) 44 map("n", "<leader>dl", vim.diagnostic.setloclist, { desc = "Diagnostic list" }) 45 46 -- File explorer 47 map("n", "<leader>e", "<cmd>NvimTreeToggle<CR>", { desc = "Explorer" })