dotfiles/nvim/.config/nvim/lua/settings.lua

68 lines
2.5 KiB
Lua

local default_builtins_disabled = { "netrw", "netrwPlugin" }
local disable_builtins = function(builtins)
for _, plugin in pairs(builtins) do vim.g["loaded_" .. plugin] = 1 end
end
local o = {
termguicolors = true,
-- sets tabs to be 2 characters, expanded into spaces, but still removable with
-- one press of backspace.
-- great explanation: http://vimcasts.org/transcripts/2/en/
tabstop = 4,
shiftwidth = 4,
softtabstop = 4,
expandtab = true,
-- make jumplist behave more like browser, when jumping back
-- and then adding a new jump discards all the previous
-- 'future-jump' tree, making more sense for wiki-like movement
jumpoptions = 'stack',
-- set cursor line highlighting, esp useful when using with bracket
-- highlighting and you don't know which side of the brace the cursor is on
cursorline = true,
-- shows linenumbers relative to the one you are on, for easy movement and
-- dNUMBERd deletions
number = true,
relativenumber = true,
-- puts the numbers into the signcolumn so when git/lsp show signs there's no jump
signcolumn = 'number',
-- keeps an undofile next to files so that you can even undo if vim is closed
-- in between
undofile = true,
-- TODO o.undodir = '~/.cache/nvim/undodir'
-- ignores case by default but will use case when search is specifically not
-- all lowercased
ignorecase = true,
smartcase = true,
-- shows previews of what substitute command will do (and a couple others)
inccommand = 'split',
-- disables showing us the current mode in the command line since airline takes
-- care of it
showmode = false,
-- turn off modeline, to ensure security observation
modeline = false,
-- i feel foldlevel 2 is generally pretty usable, for headlines and similar
-- set to use treesitter in treesitter config
foldlevel = 2,
conceallevel = 2,
-- enable mouse, doesn't bug me and might come in useful at some point
mouse = 'a',
-- pump all clippings into the system clipboard
clipboard = 'unnamedplus',
-- turn of automatic resizing of individual splits
equalalways = false,
-- make sure there's always *some* context below cursor
scrolloff = 4,
-- open new buffers bottomright
splitright = true,
splitbelow = true,
-- remove command line if no command is currently present
cmdheight = 0,
}
for k, v in pairs(o) do
vim.opt[k] = v
end
vim.api.nvim_set_var('tex_flavor', 'latex')
disable_builtins(default_builtins_disabled)