" Install all plugins source $DOTFILES/vim/plugs.vim " Sanity set encoding=utf-8 scriptencoding utf-8 "" Style " enable truecolor mode set termguicolors set background=dark let g:gruvbox_contrast_dark='hard' let g:gruvbox_sign_column='bg0' " Show some gui colors in term let g:gruvbox_guisp_fallback='bg' colorscheme gruvbox " enable truecolor support set termguicolors if ! has('termguicolors') let &t_8f = "\[38:2:%lu:%lu:%lum" let &t_8b = "\[48:2:%lu:%lu:%lum" endif " General stuff set nowrap set mouse=a set relativenumber number set foldlevelstart=3 foldmethod=indent foldenable "without nofoldenable all folds are closed at startup" set ttymouse=xterm2 " fix mouse when used in tmux/byobu https://unix.stackexchange.com/q/50733 set nobackup nowb noswapfile " no need for backups of every file set history=10000 set list listchars=tab:›\ ,trail:•,extends:#,nbsp:. set splitbelow splitright set autoread " Don't redraw while executing macros (good performance config) set lazyredraw set ignorecase smartcase " ignore case on search but be smart about it set hlsearch "highlight search results (using *) set expandtab shiftwidth=4 tabstop=4 "always use spaces " Completion menu config (see :h completopt) set completeopt=menu,menuone,noselect,noinsert " Show completion suggestions in popups instead of preview window set completeopt+=popup " Highlight the line the cursor is on set cursorline autocmd FileType qf,ll setlocal wrap "quickfix,loclist autocmd FileType markdown setlocal wrap spell autocmd FileType yaml,yml setlocal shiftwidth=2 softtabstop=2 expandtab autocmd FileType vue setlocal shiftwidth=2 softtabstop=2 expandtab autocmd FileType go setlocal noexpandtab au BufRead dvc.yaml let b:ale_fix_on_save=0 au BufRead *.dvc let b:ale_fix_on_save=0 au BufRead *.dvc set filetype=yaml au BufRead,BufNewFile */playbooks/*.yml set filetype=yaml.ansible au BufRead,BufNewFile rules.v[46] *.rules setlocal filetype=iptables if has('persistent_undo') set undodir=$HOME/.vim/undo set undofile endif " Return to last edit position when opening files (from amix's vimrc) au BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g'\"" | endif " Bash like keys for the command line cnoremap cnoremap cnoremap cnoremap cnoremap source $DOTFILES/vim/plugins_config.vim source $DOTFILES/vim/shortcuts.vim source $DOTFILES/vim/functions.vim