local options = require("chadrc").options local opt = vim.opt local g = vim.g opt.undofile = options.permanent_undo opt.ruler = options.ruler opt.hidden = options.hidden opt.ignorecase = options.ignorecase opt.splitbelow = true opt.splitright = true opt.termguicolors = true opt.cul = true opt.mouse = options.mouse opt.signcolumn = "yes" opt.cmdheight = options.cmdheight opt.updatetime = options.updatetime -- update interval for gitsigns opt.timeoutlen = options.timeoutlen opt.clipboard = options.clipboard -- disable nvim intro opt.shortmess:append("sI") -- disable tilde on end of buffer: https://github.com/ neovim/neovim/pull/8546#issuecomment-643643758 opt.fillchars = {eob = " "} -- Numbers opt.number = options.number opt.numberwidth = options.numberwidth -- opt.relativenumber = true -- Indenline opt.expandtab = options.expandtab opt.shiftwidth = options.shiftwidth opt.smartindent = options.smartindent -- go to previous/next line with h,l,left arrow and right arrow -- when cursor reaches end/beginning of line opt.whichwrap:append("<>hl") g.mapleader = options.mapleader g.auto_save = options.autosave -- disable builtin vim plugins local disabled_built_ins = { "netrw", "netrwPlugin", "netrwSettings", "netrwFileHandlers", "gzip", "zip", "zipPlugin", "tar", "tarPlugin", "getscript", "getscriptPlugin", "vimball", "vimballPlugin", "2html_plugin", "logipat", "rrhelper", "spellfile_plugin", "matchit" } for _, plugin in pairs(disabled_built_ins) do g["loaded_" .. plugin] = 1 end -- Don't show status line on vim terminals vim.cmd [[ au TermOpen term://* setlocal nonumber laststatus=0 ]] vim.cmd [[ au TermClose term://* setlocal number laststatus=2 ]] -- Open a file from its last left off position -- vim.cmd [[ au BufReadPost * if expand('%:p') !~# '\m/\.git/' && line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g'\"" | endif ]] -- File extension specific tabbing -- vim.cmd [[ autocmd Filetype python setlocal expandtab tabstop=4 shiftwidth=4 softtabstop=4 ]]