vim.g.mapleader = " " vim.keymap.set("n", "", vim.cmd.Ex) vim.keymap.set("n", "gB", " Git blame ") vim.keymap.set("v", "cs", " Silicon ") vim.keymap.set("n", "cp", ":!xclip -sel clip -target image/png -i 2024*.png && rm 2024*.png ") vim.keymap.set("n", "u", "UndotreeToggle") -- keyboard problems (temporary) function starting() local pos = vim.api.nvim_win_get_cursor(0)[2] local line = vim.api.nvim_get_current_line() local nline = line:sub(0, pos) .. "<" .. line:sub(pos + 1) vim.api.nvim_set_current_line(nline) end vim.keymap.set("n", "s", " lua starting() ") -- 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 ") -- termtoggle vim.keymap.set("n", "h", " ToggleTerm direction=horizontal ") vim.keymap.set("n", "v", " ToggleTerm direction=vertical ") -- 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', '', 'lua vim.lsp.buf.code_action()', opts) end })