-- Enable syntax highlighting vim.opt.syntax = "on" -- Autocomplete settings in command mode vim.opt.wildmenu = true vim.opt.wildmode = "longest,list,full" -- Various settings vim.opt.autoread = true vim.opt.backspace = { "indent", "eol", "start" } vim.opt.splitright = true vim.opt.splitbelow = true vim.opt.lazyredraw = false vim.opt.ttyfast = true vim.opt.wrap = false vim.opt.backup = false vim.opt.writebackup = false vim.opt.swapfile = false vim.opt.errorbells = false vim.opt.visualbell = false vim.opt.history = 500 vim.opt.hidden = true vim.opt.ignorecase = true vim.opt.smartcase = true vim.opt.incsearch = true vim.opt.timeoutlen = 500 vim.opt.ttimeoutlen = 0 vim.opt.showcmd = true vim.cmd('nohlsearch') vim.opt.scrolloff = 5 vim.opt.sidescrolloff = 10 vim.opt.shortmess:append("c") vim.opt.updatetime = 300 -- Persistent undo settings vim.opt.undodir = vim.fn.expand('~/.local/share/vim/undo/') vim.opt.undofile = true vim.opt.undolevels = 1000 vim.opt.undoreload = 10000 -- Wildignore settings vim.opt.wildignore:append({"*/tmp/*", "*.so", "*.zip", "*/vendor/bundle/*", "*/node_modules/"}) -- Autocommand to disable auto commenting on new lines vim.api.nvim_create_autocmd("FileType", { pattern = "*", callback = function() vim.opt_local.formatoptions:remove("c") vim.opt_local.formatoptions:remove("r") vim.opt_local.formatoptions:remove("o") end }) -- Filetype settings vim.cmd('filetype off') vim.cmd('filetype plugin on') -- Autocomplete settings vim.opt.completeopt = {"menu", "menuone", "noselect"} -- Folding settings vim.o.foldcolumn = '1' -- '0' is not bad vim.o.foldlevel = 99 -- Using ufo provider need a large value, feel free to decrease the value vim.o.foldlevelstart = 99 vim.o.foldenable = true