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

56 lines
2.6 KiB
Lua

---@format disable-next
local options = {
number = true, -- line numbers
list = true, -- show whitespace
listchars = 'tab:▸ ,trail:·,nbsp:+',
textwidth = 80, -- default text width
colorcolumn = '+1', -- display column 1 char after tw
wrap = false, -- don't wrap long lines
linebreak = true, -- break on word boundaries
cursorline = true, -- highlight row with cursor
scrolloff = 5, -- show 5 lines below/above cursor
sidescrolloff = 5, -- same for left/right
expandtab = true, -- indent using spaces
tabstop = 4, -- 1 tab = 4 spaces
shiftwidth = 4, -- 1 indentation = 4 spaces
completeopt = 'menu,menuone,noselect', -- completion popup
autochdir = true, -- change workir to current file dir
cmdheight = 1, -- message area size
mouse = '', -- make use of mouse in these modes
pumheight = 10, -- maximum entries in popup menu
smartindent = true, -- indent after { and so on
statusline = '%<%f %h%m%r%=%y %l,%c%V (%P)',
laststatus = 3, -- global statusline
formatoptions = vim.o.formatoptions .. 'n',
splitright = true, -- split vertical window right
shada = [['1000,<50,s10,h]], -- save last 1000 files
title = true, -- set terminal title
spelllang = 'en', -- words from all regions
signcolumn = 'yes', -- always show sign column
modeline = true -- always interpret modeline
}
for k, v in pairs(options) do
vim.o[k] = v
end
-- fire CursorHold autocommand event (FixCursorHold.nvim)
vim.g.cursorhold_updatetime = 500
vim.api.nvim_create_user_command('Ht', 'tab help <args>', {
nargs = 1, complete = 'help'
})
-- split these vertically if there is enough space
vim.g.autosplit_bt = { 'help', 'terminal' }
vim.g.autosplit_ft = {
'man', 'fugitive', 'gitcommit', 'gitrebase', 'git'
}
-- theme
vim.o.termguicolors = true -- 24 bit colours
vim.cmd('colorscheme amora')
---- make comments a bit lighter
vim.api.nvim_set_hl(0, 'AmoraComment', { fg = '#7C4180', ctermfg = 61 })
vim.api.nvim_set_hl(0, 'AmoraCommentBold',
{ fg = '#7C4180', ctermfg = 61, bold = true })