-- 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", "", "") -- newline without entering insert mode vim.keymap.set("n", "", "o") vim.keymap.set("n", "", "O") -- 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") -- splits and buffers vim.keymap.set("n", "sv", "vsplit") vim.keymap.set("n", "sz", "split") vim.keymap.set("n", "st", "tabnew") vim.keymap.set("n", "sb", "Telescope buffers") vim.keymap.set("n", "sh", "tabprevious") vim.keymap.set("n", "sl", "tabnext") -- basics vim.keymap.set("n", "q", "q") vim.keymap.set("n", "Q", "qa") vim.keymap.set("n", "x", "q!") vim.keymap.set("n", "X", "qa!") vim.keymap.set("n", "w", "w") vim.keymap.set("n", "W", "wa") vim.keymap.set("n", "f", "NvimTreeToggle") vim.keymap.set("n", "F", "Telescope find_files") -- toggle term vim.keymap.set("n", "c", "ToggleTermToggleAll") 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") -- keymap switches vim.keymap.set("i", "", "set keymap=a") vim.keymap.set("i", "", "set keymap=hebrewa") -- telescope vim.keymap.set("n", "tt", "Telescope") vim.keymap.set("n", "tl", "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") -- code vim.keymap.set("n", "gf", "Neoformat") 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", "ga", "Telescope lsp_code_actions") vim.keymap.set("n", "gq", "Telescope diagnostics") 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) -- debug mappings vim.keymap.set("n", "dc", function() require("dap").continue() end) vim.keymap.set("n", "dn", function() require("dap").step_over() end) vim.keymap.set("n", "di", function() require("dap").step_into() end) vim.keymap.set("n", "do", function() require("dap").step_out() end) vim.keymap.set("n", "db", function() require("dap").toggle_breakpoint() end) vim.keymap.set("n", "dl", function() require("dap").run_last() end) vim.keymap.set("n", "dq", function() require("dap").close() end) vim.keymap.set("n", "du", function() require("dapui").toggle() end) vim.keymap.set("n", "dv", "Telescope dap variables") vim.keymap.set("n", "dh", "Telescope dap commands") vim.keymap.set("n", "dp", "Telescope dap list_breakpoints") -- git vim.keymap.set("n", "vs", "Git") vim.keymap.set("n", "vb", "Telescope git_branches") vim.keymap.set("n", "vc", "Telescope git_commits") vim.keymap.set("n", "vf", "Telescope git_files")