-- Set to true if you have a Nerd Font installed and selected in the terminal vim.g.have_nerd_font = false -- [[ Setting options ]] -- See `:help vim.opt` -- NOTE: You can change these options as you wish! -- For more options, you can see `:help option-list` -- Make line numbers default vim.opt.number = true -- You can also add relative line numbers, to help with jumping. -- Experiment for yourself to see if you like it! vim.opt.relativenumber = true -- Enable mouse mode, can be useful for resizing splits for example! vim.opt.mouse = 'a' -- Don't show the mode, since it's already in the status line vim.opt.showmode = false -- Sync clipboard between OS and Neovim. vim.opt.clipboard = 'unnamedplus' vim.opt.wrap = false -- Displays Lines as one long line vim.opt.linebreak = true -- Companion to wrap, dont break lines vim.opt.autoindent = true vim.opt.shiftwidth = 4 -- The number of spaces inserted for each indentation vim.opt.tabstop = 4 --Inserts n spaces for a Tab vim.opt.softtabstop = 4 -- vim.opt.expandtab = true -- Converts tabs into spaces vim.o.scrolloff = 4 -- Minimal number of screen lines to keep above and below the cursor (default: 0) vim.o.sidescrolloff = 8 -- Minimal number of screen columns either side of cursor if wrap is `false` (default: 0) vim.o.hlsearch = false -- Set highlight on search (default: true) vim.opt.termguicolors = true -- Set termguicolors to enable highlight groups (default: false) vim.o.whichwrap = 'bs<>[]hl' -- Which "horizontal" keys are allowed to travel to prev/next line (default: 'b,s') vim.o.numberwidth = 4 -- Set number column width to 2 {default 4} (default: 4) vim.o.swapfile = false -- Creates a swapfile (default: true) vim.o.smartindent = true -- Make indenting smarter again (default: false) vim.o.showtabline = 2 -- Always show tabs (default: 1) vim.o.backspace = 'indent,eol,start' -- Allow backspace on (default: 'indent,eol,start') vim.o.pumheight = 10 -- Pop up menu height (default: 0) vim.o.conceallevel = 0 -- So that `` is visible in markdown files (default: 1) vim.o.fileencoding = 'utf-8' -- The encoding written to a file (default: 'utf-8') vim.o.cmdheight = 1 -- More space in the Neovim command line for displaying messages (default: 1) vim.o.writebackup = false -- If a file is being edited by another program (or was written to file while editing with another program), it is not allowed to be edited (default: true) vim.o.completeopt = 'menuone,noselect' -- Set completeopt to have a better completion experience (default: 'menu,preview') vim.opt.shortmess:append 'c' -- Don't give |ins-completion-menu| messages (default: does not include 'c') vim.opt.iskeyword:append '-' -- Hyphenated words recognized by searches (default: does not include '-') vim.opt.formatoptions:remove { 'c', 'r', 'o' } -- Don't insert the current comment leader automatically for auto-wrapping comments using 'textwidth', hitting in insert mode, or hitting 'o' or 'O' in normal mode. (default: 'croql') vim.opt.runtimepath:remove '/usr/share/vim/vimfiles' -- Separate Vim plugins from Neovim in case Vim still in use (default: includes this path if Vim is installed) -- Schedule the setting after `UiEnter` because it can increase startup-time. -- Remove this option if you want your OS clipboard to remain independent. -- See `:help 'clipboard'` vim.schedule(function() vim.opt.clipboard = 'unnamedplus' end) -- Enable break indent vim.opt.breakindent = true -- Save undo history vim.opt.undofile = true -- Case-insensitive searching UNLESS \C or one or more capital letters in the search term vim.opt.ignorecase = true vim.opt.smartcase = true -- Keep signcolumn on by default vim.opt.signcolumn = 'yes' -- Decrease update time vim.opt.updatetime = 250 -- Decrease mapped sequence wait time -- Displays which-key popup sooner vim.opt.timeoutlen = 300 -- Configure how new splits should be opened vim.opt.splitright = true vim.opt.splitbelow = true -- Sets how neovim will display certain whitespace characters in the editor. -- See `:help 'list'` -- and `:help 'listchars'` vim.opt.list = true vim.opt.listchars = { tab = '» ', trail = '·', nbsp = '␣' } -- Preview substitutions live, as you type! vim.opt.inccommand = 'split' -- Show which line your cursor is on vim.opt.cursorline = false -- Minimal number of screen lines to keep above and below the cursor. vim.opt.scrolloff = 10