vim.o.number = true -- line numbers vim.o.list = true -- show whitespace vim.o.textwidth = 80 -- default text width vim.o.colorcolumn = tostring(vim.o.textwidth) vim.o.wrap = false vim.o.expandtab = true -- indent using spaces vim.o.tabstop = 4 -- 1 tab = 4 spaces vim.o.shiftwidth = 4 -- 1 indentation = 4 spaces vim.o.completeopt = 'menu,menuone,noselect' -- completion popup vim.o.autochdir = true -- change workir to current file dir vim.o.clipboard = 'unnamedplus' -- use sytem clipboard -- theme vim.o.termguicolors = true -- 24 bit colours vim.o.background = 'dark' packer.use { 'https://github.com/owozsh/amora', config = function() vim.cmd('colorscheme amora') end } -- remove trailing whitespace function my_remove_trailing_whitespace() local curpos = vim.api.nvim_win_get_cursor(0) vim.cmd([[keeppatterns %s/\s\+$//e]]) vim.api.nvim_win_set_cursor(0, curpos) end vim.api.nvim_create_autocmd( { 'BufWritePre' }, { pattern = { '*.lua', '*.cpp', '*.hpp' }, callback = my_remove_trailing_whitespace } ) packer.use 'https://github.com/editorconfig/editorconfig-vim' -- set colorcolumn to textwidth after buffer is displayed or option is changed vim.api.nvim_create_autocmd( { 'BufWinEnter', 'OptionSet' }, { pattern = { 'textwidth' }, callback = function() if vim.o.textwidth > 0 then vim.wo.colorcolumn = tostring(vim.o.textwidth) else vim.wo.colorcolumn = '' end end } )