kickstart.nvim/lua/config/options.lua

54 lines
1.1 KiB
Lua

--[[
Path: lua/config/options.lua
Module: config.options
Purpose
Sets buffer-agnostic Neovim options (`vim.o` / `vim.opt`): editing feel,
UI chrome, search, splits, line numbers, and persistence (e.g. undofile).
Rationale
Centralizing options keeps behavior predictable. Line numbers use `vim.opt`
only (no duplicate `vim.o.number`). Clipboard is scheduled after UI enter to
avoid slowing startup.
See `:help vim.o`, `:help option-list`, `:help 'clipboard'`.
]]
vim.o.mouse = 'a'
vim.o.showmode = false
vim.schedule(function() vim.o.clipboard = 'unnamedplus' end)
vim.o.breakindent = true
vim.o.undofile = true
vim.o.ignorecase = true
vim.o.smartcase = true
vim.o.signcolumn = 'yes'
vim.o.updatetime = 250
vim.o.timeoutlen = 300
vim.o.splitright = true
vim.o.splitbelow = true
vim.o.list = true
vim.opt.listchars = { tab = '» ', trail = '·', nbsp = '' }
vim.o.inccommand = 'split'
vim.o.cursorline = true
vim.o.scrolloff = 10
vim.o.confirm = true
vim.opt.number = true
vim.opt.relativenumber = true
vim.opt.autoread = true