-- Appearance and Display vim.opt.number = true vim.opt.relativenumber = true vim.opt.signcolumn = "yes" vim.opt.showmode = false vim.opt.list = true vim.opt.listchars = { tab = "» ", trail = "·", nbsp = "␣" } vim.opt.termguicolors = true vim.opt.colorcolumn = "0" -- vim.opt.cursorline = true -- personally i don't use cursorline :( -- Indentation and Formatting vim.opt.smartindent = true vim.opt.autoindent = true vim.opt.expandtab = true vim.opt.shiftwidth = 4 vim.opt.tabstop = 4 vim.opt.breakindent = true vim.opt.wrap = false -- File Handling and Sessions vim.opt.undofile = true vim.opt.swapfile = false vim.opt.writebackup = false vim.opt.sessionoptions = "buffers,curdir,folds,help,tabpages,terminal,globals" vim.opt.backup = false vim.opt.undodir = os.getenv("HOME") .. "/.local/share/nvim/undodir" -- vim.opt.clipboard = "unnamedplus" -- Completion and UI vim.opt.pumheight = 10 vim.opt.completeopt = { "menu", "menuone", "noselect" } vim.opt.cmdheight = 0 -- set to 1 or higher when debugging -- Folding and Syntax vim.opt.foldenable = true vim.opt.foldlevel = 99 vim.opt.foldmethod = "manual" -- NOTE: other foldmethod doesn't work :) -- vim.opt.foldexpr = "nvim_treesitter#foldexpr()" -- Search and Navigation vim.opt.hlsearch = true vim.keymap.set("n", "", "nohlsearch") vim.opt.jumpoptions = "view" vim.opt.scrolloff = 10 vim.opt.incsearch = true -- Miscellaneous vim.opt.ignorecase = true vim.opt.smartcase = true vim.opt.sidescrolloff = 5 vim.opt.updatetime = 100 vim.opt.fillchars = { foldopen = "", foldclose = "", fold = " ", foldsep = " ", diff = "/", eob = " ", } vim.opt.syntax = "on" vim.opt.spelloptions = "camel,noplainbuffer" vim.opt.wildmode = "longest:full:full" vim.opt.wildignore = "*.docx,*.jpg,*.png,*.gif,*.pdf,*.pyc,*.exe,*.flv,*.img,*.xlsx,*DS_STORE,*.db" vim.opt.isfname:append("@-@") vim.g.have_nerd_font = true -- vim.opt.guicursor = "" -- keeps the cursor same in insert mode vim.opt.exrc = true -- enable .nvimrc support vim.g.zig_fmt_autosave = 0 -- disable annoying zig auto formatting on write vim.g.zig_fmt_parse_errors = 0 -- disable error on new pane zig