mirror of
https://github.com/elkowar/dots-of-war.git
synced 2025-02-20 04:12:14 +00:00
84 lines
5 KiB
Lua
84 lines
5 KiB
Lua
-- Options are automatically loaded before lazy.nvim startup
|
|
vim.g.mapleader = " " -- Set space as the leader key
|
|
vim.g.maplocalleader = "," -- Set comma as the local leader key
|
|
vim.g.netrw_banner = 0 -- Disable netrw banner
|
|
vim.g.markdown_recommended_style = 0 -- Fix vim ignores shoftabstop in markdown
|
|
|
|
local opt = vim.opt
|
|
opt.autowrite = true -- Auto-save before certain actions
|
|
opt.exrc = true -- Allow local .vimrc files in directories
|
|
opt.completeopt = "" -- Disable built-in completion behavior
|
|
opt.conceallevel = 3 -- Hide markup characters in files like markdown
|
|
opt.confirm = true -- Confirm to save changes before closing
|
|
opt.cursorline = true -- Highlight the current line
|
|
opt.expandtab = true -- Convert tabs to spaces
|
|
|
|
-- As of nvim 0.9, gqq is broken. Use gww instead, or override:
|
|
-- vim.opt.formatexpr = "v:lua.require'lazyvim.util'.format.formatexpr()"
|
|
-- (set by lazyvim)
|
|
--opt.formatexpr = ""
|
|
|
|
opt.formatoptions = "jcroqlnt" -- Set format options for comments and text wrapping
|
|
opt.grepformat = "%f:%l:%c:%m" -- Format for showing grep results
|
|
opt.grepprg = "rg --vimgrep" -- Use ripgrep for searching
|
|
opt.ignorecase = true -- Ignore case in search patterns
|
|
opt.inccommand = "nosplit" -- Live preview of substitution changes
|
|
opt.laststatus = 0 -- Hide the status line initially
|
|
opt.mouse = "a" -- Enable mouse support
|
|
opt.number = false -- Show line numbers
|
|
opt.pumblend = 10 -- Set popup menu transparency
|
|
opt.pumheight = 10 -- Limit popup menu height
|
|
opt.relativenumber = false -- Show relative line numbers
|
|
opt.scrolloff = 4 -- Minimal lines to keep above and below cursor
|
|
opt.sessionoptions = { -- Session persistence settings
|
|
"buffers",
|
|
"curdir",
|
|
"tabpages",
|
|
"winsize"
|
|
}
|
|
opt.shiftround = true -- Round indent to multiple of `shiftwidth`
|
|
opt.shiftwidth = 2 -- Number of spaces to use for indentation
|
|
opt.shortmess:append({
|
|
I = true, -- Suppress intro message
|
|
W = true, -- Suppress "written" message when saving a file
|
|
c = true -- Suppress completion messages
|
|
})
|
|
opt.showmode = false -- Don't show mode in command line (like -- INSERT --)
|
|
opt.sidescrolloff = 8 -- Columns to keep left/right of the cursor during horizontal scroll
|
|
opt.smartcase = true -- Override `ignorecase` if search contains uppercase letters
|
|
opt.smartindent = true -- Smart auto-indentation
|
|
opt.spelllang = { "en" } -- Set language for spell check to English
|
|
opt.splitbelow = true -- Force all horizontal splits to go below current window
|
|
opt.splitright = true -- Force all vertical splits to go to the right
|
|
opt.tabstop = 2 -- Number of spaces tabs count for
|
|
opt.termguicolors = true -- Enable 24-bit RGB colors in the terminal
|
|
opt.timeoutlen = 300 -- Time to wait for a mapped sequence to complete
|
|
opt.undofile = true -- Enable persistent undo
|
|
opt.undolevels = 10000 -- Maximum number of undo levels
|
|
opt.updatetime = 200 -- Faster completion (default is 4000ms)
|
|
opt.wildmode = "longest:full,full" -- Command-line completion mode
|
|
opt.winminwidth = 5 -- Minimum window width
|
|
opt.wrap = false -- Don't wrap lines by default
|
|
opt.compatible = false -- Disable 'compatible' mode to use modern features
|
|
opt.hidden = true -- Allow switching buffers without saving
|
|
opt.encoding = "utf-8" -- Set file encoding to UTF-8
|
|
opt.autoindent = true -- Copy indent from current line when starting a new line
|
|
opt.incsearch = true -- Show search matches as you type
|
|
opt.ruler = false -- Don't show ruler (line and column info)
|
|
opt.switchbuf = "usetab" -- Reuse existing tabs for switching buffers
|
|
opt.smarttab = true -- Make tab behavior context-sensitive
|
|
opt.copyindent = true -- Copy indent from previous line
|
|
opt.previewheight = 38 -- Set height for preview windows
|
|
opt.softtabstop = -1 -- Use `shiftwidth` for tab size in editing
|
|
opt.backspace = "indent,eol,start" -- Allow backspacing over everything in insert mode
|
|
opt.swapfile = false -- Disable swap file creation
|
|
opt.foldcolumn = "0" -- No fold column on the left
|
|
opt.signcolumn = "yes" -- Always show the sign column
|
|
opt.laststatus = 3 -- Global status line
|
|
opt.shell = "zsh" -- Set default shell to zsh
|
|
opt.cmdheight = 1 -- Set height of command line to 1
|
|
opt.showcmd = false -- Hide command in progress in command line
|
|
opt.cmdheight = 0 -- Hide command line when not in use
|
|
opt.splitkeep = "screen" -- Keep view stable when splitting
|
|
opt.statuscolumn = "" -- Customize status column
|
|
opt.clipboard = "" -- Do not use system clipboard
|