FollieHiyuki-dotfiles/home/.config/nvim/lua/options.lua
2021-10-17 21:48:02 +07:00

131 lines
3.7 KiB
Lua

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()