-- core/options.lua - sane editor defaults for server / ops work. local opt = vim.opt local g = vim.g g.mapleader = " " g.maplocalleader = " " -- ui opt.number = true opt.relativenumber = true opt.cursorline = true opt.signcolumn = "yes" opt.scrolloff = 6 opt.sidescrolloff = 8 opt.wrap = false opt.termguicolors = true opt.showmode = false opt.laststatus = 3 -- global statusline opt.title = true -- set terminal title (nice with tmux) opt.list = true opt.listchars = { tab = "» ", trail = "·", nbsp = "␣" } -- editing opt.expandtab = true opt.shiftwidth = 2 opt.tabstop = 2 opt.softtabstop = 2 opt.smartindent = true opt.breakindent = true -- search opt.ignorecase = true opt.smartcase = true opt.hlsearch = true opt.incsearch = true opt.inccommand = "split" -- live preview of :substitute -- files / undo opt.undofile = true opt.swapfile = false opt.backup = false opt.updatetime = 250 opt.timeoutlen = 400 opt.confirm = true -- ask instead of failing on unsaved quit -- splits feel natural opt.splitright = true opt.splitbelow = true -- clipboard: use system clipboard when available (works over SSH+OSC52 in nvim 0.10+) opt.clipboard = "unnamedplus" -- completion opt.completeopt = { "menu", "menuone", "noselect" } -- mouse on for the occasional copy/resize over ssh opt.mouse = "a"