-- leader vim.g.mapleader = " " -- visual block indenting vim.keymap.set("v", "<", "", ">gv") -- centered cursor vim.keymap.set("n", "n", "nzz") vim.keymap.set("n", "N", "Nzz") vim.keymap.set("n", "J", "mzJ`z") -- escape terminal mode vim.keymap.set("t", "", "") -- movement vim.keymap.set("n", "h", "wincmd h") vim.keymap.set("n", "j", "wincmd j") vim.keymap.set("n", "k", "wincmd k") vim.keymap.set("n", "l", "wincmd l") vim.keymap.set("n", "H", "tabprevious") vim.keymap.set("n", "L", "tabnext") -- basics vim.keymap.set("n", "f", "Telescope find_files") vim.keymap.set("n", "F", "NvimTreeToggle") -- toggle term vim.keymap.set("n", "c", "ToggleTermToggleAll") -- vim.keymap.set("n", "C", "ToggleTerm") vim.keymap.set("n", "C", ":ToggleTerm") -- frequent actions vim.keymap.set("n", "ar", "source ~/.config/nvim/init.lua") vim.keymap.set("n", "ac", "Telescope find_files cwd=~/.config/nvim") -- telescope vim.keymap.set("n", "tt", "Telescope") vim.keymap.set("n", "tw", "Telescope lsp_dynamic_workspace_symbols") vim.keymap.set("n", "to", "Telescope oldfiles") vim.keymap.set("n", "tg", "Telescope live_grep") vim.keymap.set("n", "ts", "Telescope treesitter") vim.keymap.set("n", "td", "Telescope lsp_document_symbols") -- git vim.keymap.set("n", "vA", ":Git add ") vim.keymap.set("n", "va", "Git add .") vim.keymap.set("n", "vc", "Git commit") vim.keymap.set("n", "vf", "Git fetch") vim.keymap.set("n", "vg", ":Git ") vim.keymap.set("n", "vl", "Git pull") vim.keymap.set("n", "vp", "Git push") vim.keymap.set("n", "vs", "Git") -- dev vim.keymap.set("n", "gd", "Telescope lsp_definitions") vim.keymap.set("n", "gi", "Telescope lsp_implementations") vim.keymap.set("n", "gr", "Telescope lsp_references") vim.keymap.set("n", "gq", "Telescope diagnostics") vim.keymap.set("n", "gs", "LspRestart") vim.keymap.set("n", "gf", "Format") vim.keymap.set("n", "gF", "FormatWrite") vim.keymap.set("n", "ga", function() vim.lsp.buf.code_action() end) vim.keymap.set("n", "gD", function() vim.lsp.buf.declaration() end) vim.keymap.set("n", "gk", function() vim.lsp.buf.hover() end) vim.keymap.set("n", "gt", function() vim.lsp.buf.type_definition() end) vim.keymap.set("n", "gn", function() vim.lsp.buf.rename() end) vim.keymap.set("n", "ge", function() vim.lsp.diagnostic.show_line_diagnostics() end) vim.keymap.set("n", "[d", function() vim.lsp.diagnostic.goto_prev() end) vim.keymap.set("n", "]d", function() vim.lsp.diagnostic.goto_next() end) -- neotest vim.keymap.set("n", "na", function() require("neotest").run.attach() end) vim.keymap.set("n", "nf", function() require("neotest").run.run(vim.fn.expand("%")) end) vim.keymap.set("n", "nF", function() require("neotest").run.run({ vim.fn.expand("%"), strategy = "dap" }) end) vim.keymap.set("n", "nl", function() require("neotest").run.run_last() end) vim.keymap.set("n", "nL", function() require("neotest").run.run_last({ strategy = "dap" }) end) vim.keymap.set("n", "nn", function() require("neotest").run.run() end) vim.keymap.set("n", "nN", function() require("neotest").run.run({ strategy = "dap" }) end) vim.keymap.set("n", "no", function() require("neotest").output.open({ enter = true }) end) vim.keymap.set("n", "nS", function() require("neotest").run.stop() end) vim.keymap.set("n", "ns", function() require("neotest").summary.toggle() end) -- telekasten vim.keymap.set("n", "z", function() require("telekasten").panel() end)