local cmd = vim.cmd local opt = vim.opt local g = vim.g local s = vim.s local indent = 4 g.mapleader = " " cmd([[ filetype plugin indent on ]]) opt.backspace = { "eol", "start", "indent" } -- allow backspacing over everything in insert mode -- opt.clipboard = "unnamedplus" -- allow neovim to access the system clipboard vim.opt.fileencoding = "utf-8" opt.encoding = "utf-8" opt.matchpairs = { "(:)", "{:}", "[:]", "<:>" } opt.syntax = "enable" -- indention opt.autoindent = true opt.expandtab = true opt.shiftwidth = indent opt.smartindent = true opt.softtabstop = indent opt.tabstop = indent opt.shiftround = true -- search opt.hlsearch = true opt.ignorecase = true opt.smartcase = true opt.wildignore = opt.wildignore + { "*/node_modules/*", "*/.git/*", "*/vendor/*" } opt.wildmenu = true -- ui opt.cursorline = true opt.laststatus = 2 opt.lazyredraw = true opt.list = true opt.listchars = { tab = "┊ ", trail = "·", extends = "»", precedes = "«", nbsp = "×", } -- Hide cmd line opt.cmdheight = 0 opt.mouse = "a" opt.number = true opt.relativenumber = true opt.scrolloff = 18 opt.sidescrolloff = 3 opt.signcolumn = "yes" opt.splitbelow = true opt.splitright = true opt.wrap = false -- backups opt.backup = false -- create a backup file opt.swapfile = false -- creates a swapfile opt.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 -- autocomplete opt.completeopt = { "menu", "menuone", "noselect" } -- mostly just for cmp opt.shortmess = opt.shortmess + { c = true, } -- hide all the completion messages, e.g. "-- XXX completion (YYY)", "match 1 of 2", "The only match", "Pattern not found" opt.showmode = false -- perfomance -- remember N lines in history opt.history = 100 -- keep 100 lines of history opt.redrawtime = 1500 opt.timeoutlen = 250 -- time to wait for a mapped sequence to complete (in milliseconds) opt.ttimeoutlen = 10 opt.updatetime = 100 -- signify default updatetime 4000ms is not good for async update -- theme opt.termguicolors = true -- enable 24-bit RGB colors -- persistent undo -- Don"t forget to create folder $HOME/.local/share/nvim/undo local undodir = vim.fn.stdpath("data") .. "/undo" opt.undofile = true -- enable persistent undo opt.undodir = undodir opt.undolevels = 1000 opt.undoreload = 10000 -- fold opt.foldmethod = "marker" opt.foldlevel = 99 -- Disable builtin plugins local disabled_built_ins = { "2html_plugin", "getscript", "getscriptPlugin", "gzip", "logipat", "netrw", "netrwPlugin", "netrwSettings", "netrwFileHandlers", "matchit", "rrhelper", "spellfile_plugin", "vimball", "vimballPlugin", "tutor", "rplugin", "synmenu", "optwin", "compiler", "bugreport", "ftplugin", } for _, plugin in pairs(disabled_built_ins) do g["loaded_" .. plugin] = 1 end