vim.g.mapleader = " " vim.keymap.set("n", "e", vim.cmd.Ex) vim.keymap.set("n", "gB", "Git blame") vim.keymap.set("n", "u", "UndotreeToggle") vim.keymap.set("n", "n", "set nu!") vim.keymap.set("n", "rn", "set rnu!") vim.keymap.set("n", "fo", "=ap") -- VimTex vim.keymap.set("n", "ll", "VimtexCompile") vim.keymap.set("n", "vl", "VimtexView") -- Screenkey vim.keymap.set("n", "sk", "Screenkey") -- Telescope vim.keymap.set('n', 'ff', "Telescope find_files", {}) vim.keymap.set('n', 'fw', "Telescope live_grep", {}) vim.keymap.set('n', 'fb', "Telescope buffers", {}) vim.keymap.set('n', 'fh', "Telescope help_tags", {}) vim.keymap.set('n', 'fz', "Telescope current_buffer_fuzzy_find", {}) vim.keymap.set('n', 'fg', "Telescope git_files", {}) -- Toggleterm vim.keymap.set("n", "h", "ToggleTerm direction=horizontal") vim.keymap.set("n", "v", "ToggleTerm direction=vertical") -- highlights vim.keymap.set("n", "", "nohl") -- switch between windows vim.keymap.set("n", "", "h") vim.keymap.set("n", "", "l") vim.keymap.set("n", "", "j") vim.keymap.set("n", "", "k") -- close current buffer vim.keymap.set("n", "x", "bd") -- Diagnostics, LSP vim.keymap.set('n', 'gl', 'lua vim.diagnostic.open_float()') vim.keymap.set('n', '[d', 'lua vim.diagnostic.goto_prev()') vim.keymap.set('n', ']d', 'lua vim.diagnostic.goto_next()') vim.api.nvim_create_autocmd('LspAttach', { desc = 'LSP actions', callback = function(event) local opts = { buffer = event.buf } vim.keymap.set('n', 'K', 'lua vim.lsp.buf.hover()', opts) vim.keymap.set('n', 'gd', 'lua vim.lsp.buf.definition()', opts) vim.keymap.set('n', 'gD', 'lua vim.lsp.buf.declaration()', opts) vim.keymap.set('n', 'gi', 'lua vim.lsp.buf.implementation()', opts) vim.keymap.set('n', 'go', 'lua vim.lsp.buf.type_definition()', opts) vim.keymap.set('n', 'gr', 'lua vim.lsp.buf.references()', opts) vim.keymap.set('n', 'gs', 'lua vim.lsp.buf.signature_help()', opts) vim.keymap.set('n', '', 'lua vim.lsp.buf.rename()', opts) vim.keymap.set({ 'n', 'x' }, '', 'lua vim.lsp.buf.format({async = true})', opts) vim.keymap.set('n', 'gc', 'lua vim.lsp.buf.code_action()', opts) end }) -- Netrw (u/vonheikemen) vim.api.nvim_create_autocmd('filetype', { pattern = 'netrw', desc = 'Better mappings for netrw', callback = function() local bind = function(lhs, rhs) vim.keymap.set('n', lhs, rhs, { remap = true, buffer = true }) end bind('a', '%') bind('r', 'R') end })