vim.g.mapleader = " " vim.g.maplocalleader = " " vim.opt.nu = true vim.opt.relativenumber = true vim.opt.tabstop = 2 vim.opt.softtabstop = 2 vim.opt.shiftwidth = 2 vim.opt.expandtab = false vim.opt.smartindent = true vim.opt.swapfile = false vim.opt.backup = false vim.opt.undodir = os.getenv("HOME") .. "/.vim/undodir" vim.opt.undofile = true vim.opt.hlsearch = false vim.opt.incsearch = true vim.opt.termguicolors = true vim.opt.scrolloff = 8 vim.opt.updatetime = 50 vim.opt.ignorecase = true vim.opt.smartcase = true -- vim.opt.colorcolumn = "80" vim.opt.inccommand = "nosplit" vim.opt.cursorline = true vim.g.have_nerd_font = true -- Enable mouse mode, can be useful for resizing splits for example! vim.o.mouse = "a" -- Don't show the mode, since it's already in the status line vim.o.showmode = false -- Enable break indent vim.o.breakindent = true -- Save undo history vim.o.undofile = true -- Keep signcolumn on by default vim.o.signcolumn = "yes" -- Decrease update time -- vim.o.updatetime = 250 -- Decrease mapped sequence wait time vim.o.timeoutlen = 300 -- Configure how new splits should be opened vim.o.splitright = true vim.o.splitbelow = true -- Sets how neovim will display certain whitespace characters in the editor. -- See `:help 'list'` -- and `:help 'listchars'` -- -- Notice listchars is set using `vim.opt` instead of `vim.o`. -- It is very similar to `vim.o` but offers an interface for conveniently interacting with tables. -- See `:help lua-options` -- and `:help lua-options-guide` vim.o.list = true vim.opt.listchars = { tab = "» ", trail = "·", nbsp = "␣" } -- Preview substitutions live, as you type! vim.o.inccommand = "split" -- Show which line your cursor is on vim.o.cursorline = true -- Minimal number of screen lines to keep above and below the cursor. vim.o.scrolloff = 10 -- if performing an operation that would fail due to unsaved changes in the buffer (like `:q`), -- instead raise a dialog asking if you wish to save the current file(s) -- See `:help 'confirm'` vim.o.confirm = true -- vim.o.winborder = "rounded" -- Highlight text on yank vim.api.nvim_create_autocmd("TextYankPost", { callback = function() vim.highlight.on_yank({ timeout = 100 }) end, })