local opt = require 'utils.opt' local o, wo, bo = vim.o, vim.wo, vim.bo local cmd = vim.cmd cmd [[syntax on]] cmd [[filetype plugin on]] local buffer = { o, bo } local window = { o, wo } -- Don't wrap text to next line if there isin't enough space opt('wrap', false) -- Highlight current line opt('cursorline', true, window) -- Store less in shada files opt('shada', [['20,<50,s10,h,/100]]) -- Show current mode that you are in opt('showmode', false) -- Keep non-visible files open opt('hidden', true) -- Skip redrawing window while executing macro opt('lazyredraw', true) -- Always use system clipboard opt('clipboard', 'unnamedplus') -- Amount of time after which while typing mapping will be canceled opt('timeoutlen', 300) -- Load external project specific configs opt('exrc', true) opt('secure', true) -- How whitespace characters should be displayed opt('listchars', [[space:.,eol:$,tab:>-]]) -- If possible use 24 Bit Colors if vim.fn.has('termguicolors') == 1 then opt('termguicolors', true) end -- Better Searching (Incremental searching, live replacing) opt('hlsearch', false) opt('incsearch', true) opt('inccommand', 'nosplit') -- Always keep at least 8 blank lines below the last line opt('scrolloff', 8) -- Draw a line on the 80 character mark for reference -- My laptop screen is pretty small so it's 80 so that 2 splits can fit -- If you have a wider monitor go ahead and use 100 or 120. opt('colorcolumn', '80') -- Break lines -- opt('textwidth', 80) -- Display relative and absolute line numbers opt('number', true, window) opt('relativenumber', true, window) -- Recovery opt('undofile', true, buffer) -- Mouse support opt('mouse', 'nivh') -- Auto sign column opt('signcolumn', 'auto:1', window) -- Disable those annoying DINGS when you pressing something too much opt('errorbells', false) -- Always use system clipboard opt('clipboard', 'unnamedplus') -- Identation/Tab settings local tab_size = 2 opt('foldmethod', 'indent', window) opt('expandtab', false, buffer) opt('smartindent', true, buffer) opt('shiftwidth', tab_size, buffer) opt('tabstop', tab_size, buffer) opt('softtabstop', tab_size, buffer) -- Place splits below and to the right by default opt('splitbelow', true) opt('splitright', true)