vim.g.mapleader = " " -- move selected stuff with J and K vim.keymap.set("v", "J", ":m '>+1gv=gv") vim.keymap.set("v", "K", ":m '<-2gv=gv") -- make the cursor in the middle when scrolling fast vim.keymap.set("n", "", "zz") vim.keymap.set("n", "", "zz") -- clipboard remap vim.keymap.set("n", "y", "\"+y") vim.keymap.set("v", "y", "\"+y") vim.keymap.set("n", "Y", "\"+Y") vim.api.nvim_create_autocmd("LspAttach", { callback = function(args) local map = vim.keymap.set local opts = { buffer = args.buf } map("n", "gd", vim.lsp.buf.definition, opts) map("n", "K", vim.lsp.buf.hover, opts) map("n", "rn", vim.lsp.buf.rename, opts) map("n", "ca", vim.lsp.buf.code_action, opts) map("n", "gr", vim.lsp.buf.references, opts) end, })