2021-06-26 04:36:26 +02:00
|
|
|
local opt = vim.opt
|
2021-07-14 07:24:09 +02:00
|
|
|
local g = vim.g
|
2021-06-26 04:36:26 +02:00
|
|
|
|
2021-08-19 05:21:42 +02:00
|
|
|
-- export user config as a global varibale
|
|
|
|
g.nvchad_user_config = "chadrc"
|
|
|
|
|
|
|
|
local options = require("utils").load_config().options
|
|
|
|
|
2021-08-16 09:49:09 +02:00
|
|
|
opt.completeopt = { "menuone", "noselect" }
|
2021-08-12 13:58:03 +02:00
|
|
|
opt.undofile = options.permanent_undo
|
|
|
|
opt.ruler = options.ruler
|
|
|
|
opt.hidden = options.hidden
|
|
|
|
opt.ignorecase = options.ignorecase
|
2021-06-26 04:36:26 +02:00
|
|
|
opt.splitbelow = true
|
|
|
|
opt.splitright = true
|
|
|
|
opt.termguicolors = true
|
|
|
|
opt.cul = true
|
2021-08-12 13:58:03 +02:00
|
|
|
opt.mouse = options.mouse
|
2021-06-26 04:36:26 +02:00
|
|
|
opt.signcolumn = "yes"
|
2021-08-12 13:58:03 +02:00
|
|
|
opt.cmdheight = options.cmdheight
|
|
|
|
opt.updatetime = options.updatetime -- update interval for gitsigns
|
|
|
|
opt.timeoutlen = options.timeoutlen
|
|
|
|
opt.clipboard = options.clipboard
|
2021-03-13 11:51:52 +01:00
|
|
|
|
2021-07-14 06:57:33 +02:00
|
|
|
-- disable nvim intro
|
2021-08-16 09:49:09 +02:00
|
|
|
opt.shortmess:append "sI"
|
2021-07-14 06:57:33 +02:00
|
|
|
|
|
|
|
-- disable tilde on end of buffer: https://github.com/ neovim/neovim/pull/8546#issuecomment-643643758
|
2021-08-16 09:49:09 +02:00
|
|
|
opt.fillchars = { eob = " " }
|
2021-07-14 06:57:33 +02:00
|
|
|
|
2021-06-16 02:50:47 +02:00
|
|
|
-- Numbers
|
2021-08-12 13:58:03 +02:00
|
|
|
opt.number = options.number
|
|
|
|
opt.numberwidth = options.numberwidth
|
2021-08-19 10:28:07 +02:00
|
|
|
opt.relativenumber = options.relativenumber
|
2021-06-16 02:50:47 +02:00
|
|
|
|
2021-07-16 19:52:36 +02:00
|
|
|
-- Indenline
|
2021-08-12 13:58:03 +02:00
|
|
|
opt.expandtab = options.expandtab
|
|
|
|
opt.shiftwidth = options.shiftwidth
|
|
|
|
opt.smartindent = options.smartindent
|
2021-06-15 18:14:11 +02:00
|
|
|
|
2021-07-17 11:04:36 +02:00
|
|
|
-- go to previous/next line with h,l,left arrow and right arrow
|
|
|
|
-- when cursor reaches end/beginning of line
|
2021-08-16 09:49:09 +02:00
|
|
|
opt.whichwrap:append "<>hl"
|
2021-07-17 11:04:36 +02:00
|
|
|
|
2021-08-12 13:58:03 +02:00
|
|
|
g.mapleader = options.mapleader
|
|
|
|
g.auto_save = options.autosave
|
2021-07-14 07:24:09 +02:00
|
|
|
|
2021-06-26 04:08:44 +02:00
|
|
|
-- disable builtin vim plugins
|
2021-07-20 20:19:31 +02:00
|
|
|
local disabled_built_ins = {
|
2021-08-16 09:49:09 +02:00
|
|
|
"netrw",
|
|
|
|
"netrwPlugin",
|
|
|
|
"netrwSettings",
|
|
|
|
"netrwFileHandlers",
|
|
|
|
"gzip",
|
|
|
|
"zip",
|
|
|
|
"zipPlugin",
|
|
|
|
"tar",
|
|
|
|
"tarPlugin",
|
|
|
|
"getscript",
|
|
|
|
"getscriptPlugin",
|
|
|
|
"vimball",
|
|
|
|
"vimballPlugin",
|
|
|
|
"2html_plugin",
|
|
|
|
"logipat",
|
|
|
|
"rrhelper",
|
|
|
|
"spellfile_plugin",
|
|
|
|
"matchit",
|
2021-07-20 20:19:31 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
for _, plugin in pairs(disabled_built_ins) do
|
2021-08-16 09:49:09 +02:00
|
|
|
g["loaded_" .. plugin] = 1
|
2021-07-20 20:19:31 +02:00
|
|
|
end
|
2021-06-26 04:08:44 +02:00
|
|
|
|
2021-08-21 10:27:15 +02:00
|
|
|
vim.cmd [[ autocmd BufEnter * if &buftype != "terminal" | lcd %:p:h | endif ]]
|
|
|
|
|
2021-08-18 14:13:56 +02:00
|
|
|
-- Use relative & absolute line numbers in 'n' & 'i' modes respectively
|
|
|
|
-- vim.cmd[[ au InsertEnter * set norelativenumber ]]
|
|
|
|
-- vim.cmd[[ au InsertLeave * set relativenumber ]]
|
|
|
|
|
|
|
|
-- Don't show any numbers inside terminals
|
2021-08-20 11:44:15 +02:00
|
|
|
vim.cmd [[ au TermOpen term://* setlocal nonumber norelativenumber | setfiletype terminal ]]
|
2021-08-20 11:22:27 +02:00
|
|
|
|
|
|
|
-- Don't show status line on certain windows
|
|
|
|
vim.cmd [[ autocmd BufEnter,BufWinEnter,WinEnter,CmdwinEnter,TermEnter * lua require("utils").hide_statusline() ]]
|
2021-08-01 06:25:28 +02:00
|
|
|
|
2021-07-30 19:02:58 +02:00
|
|
|
-- Open a file from its last left off position
|
|
|
|
-- vim.cmd [[ au BufReadPost * if expand('%:p') !~# '\m/\.git/' && line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g'\"" | endif ]]
|
|
|
|
-- File extension specific tabbing
|
|
|
|
-- vim.cmd [[ autocmd Filetype python setlocal expandtab tabstop=4 shiftwidth=4 softtabstop=4 ]]
|