-- 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", ":cd ~/.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") -- vsnip jumpable mappings vim.keymap.set("i", "", "vsnip#jumpable(1) ? '(vsnip-jump-next)' : ''", { expr = true }) vim.keymap.set("s", "", "vsnip#jumpable(1) ? '(vsnip-jump-next)' : ''", { expr = true }) vim.keymap.set("i", "", "vsnip#jumpable(-1) ? '(vsnip-jump-prev)' : ''", { expr = true }) vim.keymap.set("s", "", "vsnip#jumpable(-1) ? '(vsnip-jump-prev)' : ''", { expr = true })