58 lines
1.3 KiB
Lua
58 lines
1.3 KiB
Lua
-- 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"
|