local opt = vim.opt local function load_options() -- General settings opt.termguicolors = true; -- opt.background = 'dark'; opt.mouse = 'nv'; opt.errorbells = false; opt.visualbell = false; opt.hidden = true; opt.fileformats = 'unix'; opt.magic = true; opt.virtualedit = 'block'; opt.encoding = 'utf-8'; opt.fileencoding = 'utf-8'; opt.clipboard = 'unnamedplus'; opt.wildignorecase = true; opt.wildignore = '.git,.hg,.svn,*.pyc,*.o,*.out,*.jpg,*.jpeg,*.png,*.gif,*.zip,**/tmp/**,*.DS_Store,**/node_modules/**'; opt.history = 1000; opt.showmode = false; opt.jumpoptions = 'stack'; opt.formatoptions = '1jcroql'; opt.shortmess = 'aoOTIcF'; opt.startofline = false; opt.wrap = false; opt.sidescrolloff = 4; opt.scrolloff = 4; opt.whichwrap = '<,>,[,],~'; opt.ruler = true; opt.display = 'lastline'; -- opt.colorcolumn = '80'; -- opt.cursorline = true; -- opt.backspace = 'indent,eol,start'; opt.showcmd = false; opt.cmdheight = 2; opt.cmdwinheight = 6; opt.showtabline = 2; opt.laststatus = 2; opt.textwidth = 80; opt.synmaxcol = 2500; -- opt.shell = 'bash'; opt.grepformat = '%f:%l:%c:%m'; opt.grepprg = 'rg --hidden --vimgrep --smart-case --'; opt.diffopt = 'filler,iwhite,internal,algorithm:patience'; -- Transparency opt.pumblend = 10; opt.winblend = 10; -- Conceal opt.conceallevel = 2; opt.concealcursor = 'niv'; -- opt.foldenable = true; opt.foldlevelstart = 99; -- Case insensitive opt.ignorecase = true; opt.smartcase = true; opt.infercase = true; -- Searching opt.incsearch = true; opt.hlsearch = false; -- opt.wrapscan = true; -- Update time opt.timeout = true; opt.ttimeout = true; opt.timeoutlen = 300; opt.ttimeoutlen = 10; opt.updatetime = 150; opt.redrawtime = 1500; -- No swapfile opt.backup = false; opt.writebackup = false; opt.swapfile = false; -- Completion menu opt.wildmenu = true; opt.wildmode = 'full'; opt.complete = '.,w,b,k'; opt.completeopt = 'menuone,noselect'; opt.pumheight = 16; opt.helpheight = 12; opt.previewheight = 12; -- Window rules opt.splitbelow = true; opt.splitright = true; opt.inccommand = 'nosplit'; opt.switchbuf = 'useopen'; opt.winwidth = 30; opt.winminwidth = 10; opt.equalalways = false; -- Left column opt.signcolumn = 'yes'; opt.number = true; opt.relativenumber = true; opt.numberwidth = 4; -- 4 spaces = 1 tab opt.tabstop = 4; opt.softtabstop = 4; opt.shiftwidth = 4; opt.smarttab = true; opt.expandtab = true; opt.smartindent = true; opt.autoindent = true; opt.shiftround = true; -- Trailings, line break opt.list = true; opt.listchars = 'tab:»·,nbsp:+,trail:·,extends:→,precedes:←'; opt.showbreak = '↳ '; opt.linebreak = true; opt.breakat = [[\ \ ;:,!?]]; -- opt.breakindentopt = 'shift:4,min:20'; -- Undo file path opt.undofile = true; opt.undodir = vim.fn.stdpath('data') .. '/undodir' -- Python path vim.g.python_host_prog = '/usr/bin/python' vim.g.python3_host_prog = '/usr/bin/python3' end load_options()