local keymap = vim.keymap.set local opts = { silent = true } -- 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", "gl", 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.lua") -- 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)