local opt = vim.opt -- General opt.mouse = "a" opt.clipboard = "unnamedplus" vim.g.clipboard = { name = "OSC 52", copy = { ["+"] = require("vim.ui.clipboard.osc52").copy("+"), ["*"] = require("vim.ui.clipboard.osc52").copy("*"), }, paste = { ["+"] = function() return { vim.fn.split(vim.fn.getreg(""), "\n"), vim.fn.getregtype("") } end, ["*"] = function() return { vim.fn.split(vim.fn.getreg(""), "\n"), vim.fn.getregtype("") } end, }, } opt.encoding = "utf-8" opt.title = true -- UI opt.number = true opt.relativenumber = true opt.background = "dark" opt.showmode = false opt.ruler = false opt.laststatus = 0 opt.showcmd = false opt.hlsearch = false opt.termguicolors = true opt.signcolumn = "yes" opt.cursorline = true -- Splits opt.splitbelow = true opt.splitright = true -- Tabs and indentation opt.tabstop = 2 opt.shiftwidth = 2 opt.expandtab = true opt.smartindent = true -- Search opt.ignorecase = true opt.smartcase = true -- Completion opt.wildmode = { "longest", "list", "full" } opt.completeopt = { "menu", "menuone", "noselect" } -- Files opt.swapfile = false opt.undofile = true -- Performance opt.updatetime = 250 opt.timeoutlen = 300