summaryrefslogtreecommitdiff
path: root/.config/nvim/lua/core/options.lua
blob: 42709490df07136e7505a593376d8fc655c01414 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
-- Core Neovim settings
-- General options and settings

-- UI settings
vim.opt.termguicolors = true          -- True color support
vim.opt.number = true                 -- Show line numbers
vim.opt.relativenumber = true         -- Show relative line numbers
vim.opt.scrolloff = 999               -- Keep cursor centered
vim.opt.splitbelow = true             -- Horizontal splits below
vim.opt.splitright = true             -- Vertical splits to the right
vim.opt.wrap = true                   -- Line wrapping
vim.opt.virtualedit = "block"         -- Allow cursor beyond text in block mode

-- Search settings
vim.opt.hlsearch = false              -- Don't highlight search results
vim.opt.incsearch = true              -- Incremental search
vim.opt.ignorecase = true             -- Case insensitive search

-- Tab settings
vim.opt.tabstop = 4                   -- Tab width
vim.opt.softtabstop = 4               -- Soft tab width
vim.opt.shiftwidth = 4                -- Indentation width
vim.opt.expandtab = true              -- Use spaces instead of tabs

-- File management
vim.opt.swapfile = false              -- No swap files
vim.opt.backup = false                -- No backup files
vim.opt.undodir = os.getenv("HOME").."/.vim/undodir"  -- Undo directory
vim.opt.undofile = true               -- Persistent undo history

-- Performance and usability
vim.opt.updatetime = 50               -- Faster update time
vim.opt.inccommand = "split"          -- Live substitution preview

-- Status line
vim.cmd([[set laststatus=2]])     -- Always show statusline
vim.cmd([[set shortmess=I]])      -- Don't show intro message
Back to https://optics-design.com