diff --git a/lua/opts.lua b/lua/opts.lua index 38af19d..3eaf3b4 100644 --- a/lua/opts.lua +++ b/lua/opts.lua @@ -1,3 +1,6 @@ +-- Set as the leader key +-- See `:help mapleader` +-- NOTE: Must happen before plugins are loaded (otherwise wrong leader will be used) vim.g.mapleader = ' ' vim.g.maplocalleader = ' ' @@ -10,12 +13,20 @@ vim.opt.relativenumber = true -- Don't show the mode, since it's already in the status line vim.opt.showmode = false +-- Sync clipboard between OS and Neovim. +-- Schedule the setting after `UiEnter` because it can increase startup-time. +-- Remove this option if you want your OS clipboard to remain independent. +-- See `:help 'clipboard'` +vim.schedule(function() + vim.o.clipboard = 'unnamedplus' +end) + vim.opt.tabstop = 4 vim.opt.softtabstop = 4 vim.opt.shiftwidth = 4 vim.opt.expandtab = true -vim.opt.smartindent = true +vim.o.breakindent = true vim.opt.wrap = false @@ -41,7 +52,7 @@ vim.opt.smartcase = true vim.opt.signcolumn = 'yes' -- Decrease update time -vim.opt.updatetime = 200 +vim.opt.updatetime = 250 -- Decrease mapped sequence wait time -- Displays which-key popup sooner @@ -51,13 +62,17 @@ vim.opt.timeoutlen = 300 vim.opt.splitright = true vim.opt.splitbelow = true +-- Preview substitutions live, as you type! +vim.opt.inccommand = 'split' -- Sets how neovim will display certain whitespace characters in the editor. --- See `:help 'list'` +-- See `:help 'list'5 -- and `:help 'listchars'` -- vim.opt.list = true -- vim.opt.listchars = { tab = '» ', trail = '·', nbsp = '␣' } --- Preview substitutions live, as you type! -vim.opt.inccommand = 'split' +-- 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.cmd [[autocmd BufWritePre * lua vim.lsp.buf.format()]]