]> Arthur Taft Gitweb - nvim.git/blob - lua/config/keymaps.lua
Change tab indent to 4 spaces
[nvim.git] / lua / config / keymaps.lua
1 local map = vim.keymap.set
2
3 map("n", "<leader>q", "<cmd>q<cr>")
4 map("n", "<leader>w", "<cmd>w<cr>")
5
6 -- Files / search
7 map("n", "<leader>e", "<cmd>Oil<cr>", { desc = "File Explorer (oil)" })
8 map("n", "<leader>ff", "<cmd>Telescope find_files<cr>", { desc = "Find files" })
9 map("n", "<leader>fg", "<cmd>Telescope live_grep<cr>", { desc = "Grep" })
10 map("n", "<leader>fb", "<cmd>Telescope buffers<cr>", { desc = "Buffers" })
11 map("n", "<leader>fh", "<cmd>Telescope help_tags<cr>", { desc = "Help" })
12
13 -- Git / terminal / diagnostics
14 map("n", "<leader>gg", "<cmd>LazyGit<cr>", { desc = "LazyGit" })
15 map("n", "<leader>tt", "<cmd>ToggleTerm<cr>", { desc = "Terminal" })
16 map("n", "<leader>xx", "<cmd>Trouble diagnostics toggle<cr>", { desc = "Diagnostics (Trouble)" })
17
18 -- LSP
19 map("n", "<leader>rn", vim.lsp.buf.rename, { desc = "LSP Rename" })
20 map({ "n", "v" }, "<leader>ca", vim.lsp.buf.code_action, { desc = "LSP Code Action" })
21 map("n", "gd", vim.lsp.buf.definition, { desc = "Go to definition" })
22 map("n", "K", vim.lsp.buf.hover, { desc = "Hover" })
23
24 -- Format
25 map("n", "<leader>lf", function()
26         require("conform").format({ async = true })
27 end, { desc = "Format" })
28
29 -- QoL
30 map("n", "<leader>s", [[:%s/\s\+$//e<cr>]], { desc = "Strip trailing spaces" })
31
32 -- Neotree
33
34 -- Focus the sidebar (or open it if closed)
35 map("n", "<leader>nf", function()
36         require("neo-tree.command").execute({ action = "focus", source = "filesystem", position = "left" })
37 end, { desc = "Neo-tree: focus sidebar" })
38
39 -- Reveal current file in the sidebar (and focus it)
40 map("n", "<leader>fE", "<cmd>Neotree reveal left<cr>", { desc = "Neo-tree: reveal current file" })