local keymap = vim.keymap.set local opts = { silent = true } vim.g.mapleader = " " -- Move text buffer in visual mode keymap("v", "K", ":m '<-2gv=gv") keymap("v", "J", ":m '>+1gv=gv") -- Write and quit easier keymap("n", "w", ":w") keymap("n", "z", ":wq") keymap("n", "q", ":qa") keymap("n", "e", ":q") -- Windows commands keymap("n", "pv", ":wincmd v | :Ex | :vertical resize 30") keymap("n", "ps", ":Rg") keymap("n", "rh", ":vertical resize +5") keymap("n", "rl", ":vertical resize -5") -- General compile buttons keymap("", "", ":w:!compile \"%\" && pkill -HUP mupdf") keymap("", "", ":w:!latexmk -pdf \"%\" && pkill -HUP mupdf") keymap("", "", ":noh") keymap("", "", ":set spell!") keymap("", "", ":w:!glosscompile \"%\" && pkill -HUP mupdf") -- Jumper keymap("v", "", "/<++>\"_c4l") keymap("", "", "/<++>\"_c4l") -- Copy from / to clipboard keymap("v", "y", "\"+y") keymap("v", "Y", "\"+Y") keymap("n", "p", "\"+p") keymap("n", "P", "\"+P") -- Diagnostic navigation keymap("n", "[g", vim.diagnostic.goto_prev, opts) keymap("n", "]g", vim.diagnostic.goto_next, opts) keymap("n", "d", vim.diagnostic.open_float, opts) -- LSP gotos keymap("n", "gd", vim.lsp.buf.definition, opts) keymap("n", "gy", vim.lsp.buf.type_definition, opts) keymap("n", "gi", vim.lsp.buf.implementation, opts) keymap("n", "gr", vim.lsp.buf.references, opts) keymap("n", "rn", vim.lsp.buf.rename, opts) -- LSP code actions keymap({ "n", "x" }, "a", vim.lsp.buf.code_action, opts) -- Switch to last opened file keymap("n", "b", "") -- NvimTree Toggle keymap("n", "f", ":NvimTreeToggle", opts) -- Tab navigation for i = 1, 9 do keymap("", "" .. i, i .. "gt") end keymap("", "0", ":tablast") -- Auto center searches keymap("n", "n", "nzzzv") keymap("n", "N", "Nzzzv") -- Tagbar keymap("n", "g", ":TagbarToggle") -- Source vim config keymap("n", "sv", ":source $XDG_CONFIG_HOME/nvim/init.vim") -- Telescope keymap("n", "l", ":Telescope live_grep") keymap("n", "t", ":Telescope git_files") keymap("n", "z", ":Telescope find_files") keymap("n", "", ":Telescope grep_string") -- Markdown preview keymap("n", "mg", "MarkdownPreview") keymap("n", "ms", "MarkdownPreviewStop") keymap("n", "mt", "MarkdownPreviewToggle") -- WhiteSpace keymap("n", "cw", ":StripWhitespace") keymap("n", "]w", ":NextTrailingWhitespace") keymap("n", "[w", ":PrevTrailingWhitespace") -- Smart window movement local utils = require("utils") keymap("n", "", function() utils.win_move('h') end, opts) keymap("n", "", function() utils.win_move('j') end, opts) keymap("n", "", function() utils.win_move('k') end, opts) keymap("n", "", function() utils.win_move('l') end, opts) -- Vimspector keymap("n", "da", ":call vimspector#Launch()") keymap("n", "dc", ":call GotoWindow(g:vimspector_session_windows.code)") keymap("n", "dv", ":call GotoWindow(g:vimspector_session_windows.variables)") keymap("n", "dw", ":call vimspector#ClearBreakpoints()") keymap("n", "ds", ":call GotoWindow(g:vimspector_session_windows.stack_trace)") keymap("n", "do", ":call GotoWindow(g:vimspector_session_windows.output)") keymap("n", "di", ":call AddToWatch()") keymap("n", "dx", ":call vimspector#Reset()") keymap("n", "dX", ":call vimspector#ClearBreakpoints()") keymap("n", "", ":call vimspector#StepOut()") keymap("n", "", ":call vimspector#StepInto()") keymap("n", "", ":call vimspector#StepOver()") keymap("n", "d_", ":call vimspector#Restart()") keymap("n", "dn", ":call vimspector#Continue()") keymap("n", "drc", ":call vimspector#RunToCursor()") keymap("n", "dh", ":call vimspector#ToggleBreakpoint()") keymap("n", "de", ":call vimspector#ToggleConditionalBreakpoint()")