My neovim config
1-- this is generic keymaps, plugin files might have their own
2vim.g.mapleader = " "
3vim.g.maplocalleader = ","
4
5-- paste better
6vim.keymap.set("x", "p", [["_dP]])
7
8-- tab keys
9vim.keymap.set("v", "<Tab>", ">gv")
10vim.keymap.set("v", "<S-Tab>", "<gv")
11vim.keymap.set("n", "<Tab>", "v><C-\\><C-N>")
12vim.keymap.set("n", "<S-Tab>", "v<<C-\\><C-N>")
13vim.keymap.set("i", "<S-Tab>", "<C-\\><C-N>v<<C-\\><C-N>^i")
14
15vim.keymap.set("n", "grd", function()
16 vim.lsp.buf.definition()
17end)
18
19vim.keymap.set("n", "grl", function()
20 vim.diagnostic.open_float()
21end)
22
23vim.keymap.set("n", "[d", function()
24 vim.diagnostic.jump({ count = -1, float = true })
25end)
26
27vim.keymap.set("n", "]d", function()
28 vim.diagnostic.jump({ count = 1, float = true })
29end)
30
31vim.cmd("packadd nvim.undotree") -- enable builtin undotree
32vim.keymap.set("n", "<leader>u", "<CMD>Undotree<cr>")