-- Global vim options vim.o.laststatus = 2 vim.o.updatetime = 100 vim.o.scrolloff = 3 vim.o.sidescrolloff = 5 vim.o.textwidth = 78 vim.o.linespace = 0 vim.o.exrc = true vim.o.secure = true vim.o.showcmd = true vim.o.showmatch = true vim.o.ruler = true vim.o.autoindent = true vim.o.errorbells = false vim.o.modeline = true vim.o.joinspaces = false vim.o.showmode = false vim.o.splitbelow = true vim.o.splitright = true vim.o.foldenable = false vim.o.undofile = true vim.o.hidden = true vim.o.autochdir = false vim.o.hlsearch = true vim.o.startofline = false vim.o.ignorecase = true vim.o.smartcase = true vim.o.magic = true vim.o.autoread = true vim.o.termguicolors = true vim.o.fileformat = 'unix' vim.o.inccommand = 'split' vim.o.switchbuf = 'useopen' vim.o.encoding = 'utf-8' vim.g.python3_host_prog = '/usr/bin/python3' -- Disable providers we do not give a shit about vim.g.loaded_python_provider = 0 vim.g.loaded_ruby_provider = 0 vim.g.loaded_perl_provider = 0 vim.g.loaded_node_provider = 0 -- Disable some in built plugins completely vim.g.loaded_netrw = 1 vim.g.loaded_netrwPlugin = 1 vim.g.loaded_matchparen = 1 vim.g.loaded_matchit = 1 vim.g.loaded_2html_plugin = 1 vim.g.loaded_getscriptPlugin = 1 vim.g.loaded_gzip = 1 vim.g.loaded_logipat = 1 vim.g.loaded_rrhelper = 1 vim.g.loaded_spellfile_plugin = 1 vim.g.loaded_tarPlugin = 1 vim.g.loaded_vimballPlugin = 1 vim.g.loaded_zipPlugin = 1 -- Map leader vim.g.mapleader = " " vim.g.maplocalleader = "," -- Needs to be set before loading quickr-cscope vim.g.quickr_cscope_keymaps = 0 -- Needs to be set before vimtex gets loaded, else it complains vim.g.tex_flavor = 'latex' vim.g.vimtex_view_general_viewer = 'qpdfview' vim.g.vimtex_view_general_options = '--unique \\@pdf\\#src:@tex:@line:@col' vim.g.vimtex_view_general_options_latexmk = '--unique' -- Needs to be before togglelist gets loadded vim.g.toggle_list_no_mappings = 1 -- Enable rainbow brackets everywhere vim.g.rainbow_active = 1 -- Settings using nvim.api -- Needs to be set before vim-sneak is loaded vim.api.nvim_command('let g:sneak#label = 1') vim.api.nvim_command('let g:sneak#s_next = 1') vim.api.nvim_command('let g:sneak#use_ic_scs = 0') -- We do this to prevent the loading of the system fzf.vim plugin. This is -- present at least on Arch/Manjaro vim.api.nvim_command('set rtp-=/usr/share/vim/vimfiles') vim.api.nvim_command('set shada="NONE"') vim.api.nvim_command('set mouse-=a') vim.api.nvim_command('set formatoptions+=o') vim.api.nvim_command('set formatoptions+=j') vim.api.nvim_command('set completeopt=menuone,noinsert,noselect') vim.api.nvim_command('set wildmenu') vim.api.nvim_command('set wildmode=longest:full,full') vim.api.nvim_command('set wildoptions=pum') vim.api.nvim_command('set pumblend=30') vim.api.nvim_command('set sessionoptions-=blank') vim.api.nvim_command('set backspace=indent,eol,start') vim.api.nvim_command('set diffopt=filler,internal,algorithm:histogram,indent-heuristic') -- Do not create any backups or swap file vim.api.nvim_command('set nobackup') vim.api.nvim_command('set nowritebackup') vim.api.nvim_command('set noswapfile') require 'plugins' require 'autocmd' require 'keymappings' require 'yolokai' require 'lsp' -- Load our custom color scheme vim.api.nvim_command('colorscheme yolokai')