X-Git-Url: https://git.sthu.org/?p=vimconf.git;a=blobdiff_plain;f=plugins.vim;h=66939e622131dafdff86b125b44b48433dc2451f;hp=6852fb19e97c9da08ecb225163bcc13573a8c285;hb=HEAD;hpb=1fbc02c2a0bc5522f32773fd98bb8f988d44d9ec diff --git a/plugins.vim b/plugins.vim index 6852fb1..66939e6 100644 --- a/plugins.vim +++ b/plugins.vim @@ -4,22 +4,17 @@ function! Cond(cond, ...) endfunction Plug 'mhinz/vim-startify' +Plug 'dstein64/vim-startuptime' Plug 'vim-airline/vim-airline' Plug 'gruvbox-community/gruvbox' +Plug 'liuchengxu/vim-which-key' Plug 'benknoble/vim-auto-origami' -" Prevent slow foling update, e.g., for vimtex -Plug 'Konfekt/FastFold' Plug 'scrooloose/nerdcommenter' - -Plug 'joom/latex-unicoder.vim', {'on': 'Unicoder'} - Plug 'scrooloose/nerdtree', {'on': 'NERDTreeToggle'} -Plug 'ryanoasis/vim-devicons', Cond(g:enable_plugin_devicons) -Plug 'Konfekt/vim-DetectSpellLang', {'do': 'spell'} Plug 'roryokane/detectindent' " This plugin cannot be conditionally loaded, see github issue #18 @@ -30,23 +25,104 @@ Plug 'junegunn/vim-easy-align' Plug 'thinca/vim-fontzoom' -Plug 'vim-scripts/loremipsum', {'on': 'Loremipsum'} - -Plug 'lambdalisue/vim-manpager', {'on': 'MANPAGER'} - -Plug 'https://gitlab.com/dbeniamine/vim-mail' - -Plug 'dstein64/vim-startuptime' +Plug 'lambdalisue/vim-manpager' " Make . more useful after a plugin map Plug 'tpope/vim-repeat' - Plug 'flwyd/vim-conjoin' -if $USER != "root" - source ~/.vim/plugins-noroot.vim -endif +Plug 'nfnty/vim-nftables' + + +function PluginsConfig() + + " Some preferences for indent detection + let g:detectindent_min_indent = 2 + let g:detectindent_max_indent = 4 + let g:detectindent_preferred_indent = 4 + + " Minimum indenting for source code + au FileType c,cpp,objc,java,cs let g:detectindent_min_indent = 4 + " Consider using localvimrc config file or editorconfig instead + "au BufReadPost *.java :DetectIndent + + let g:airline_powerline_fonts=1 + let g:airline#extensions#tabline#enabled=1 + let g:airline#extensions#branch#enabled=1 + + let g:gruvbox_contrast_light='hard' + let g:gruvbox_contrast_dark='hard' + set bg=dark + + if &term =~ 'linux' + let g:gruvbox_termcolors=16 + else + " Setting termguicolors has two implications: + " - Breaks colors for some versions of mosh, but not if tmux is used on top of + " mosh. See https://github.com/mobile-shell/mosh/issues/928 + set termguicolors + let g:gruvbox_italic = 1 + endif + colorscheme gruvbox + + " let NERDTreeWinPos="right" + let NERDTreeHijackNetrw=0 + let NERDTreeWinSize=22 + let NERDTreeQuitOnOpen=1 + "au VimEnter * if !argc() | Startify | NERDTree | wincmd w + + let g:startify_files_number = 5 + let g:startify_session_persistence = 1 + let g:startify_lists = [ + \ { 'type': 'dir', 'header': [' Recent files'] }, + \ { 'type': 'sessions', 'header': [' Saved sessions'] }, + \ ] + + if has('nvim') + let verstr = matchstr(execute('version'), 'NVIM v\zs[^\n]*') + let g:startify_custom_header = [ + \ '', + \ ' ╻ ╻ ╻ ┏┳┓', + \ ' NEO ┃┏┛ ┃ ┃┃┃', + \ ' ┗┛ ╹ ╹ ╹ ' . verstr, + \ '', + \ ] + else + let verstr = matchstr(execute('version'), 'IMproved \zs[^\n ]*') + let g:startify_custom_header = [ + \ '', + \ ' ╻ ╻ ╻ ┏┳┓', + \ ' ┃┏┛ ┃ ┃┃┃', + \ ' ┗┛ ╹ ╹ ╹ ' . verstr, + \ '', + \ ] + endif + + au BufEnter *.c* let b:fswitchlocs='reg:/lib/include/,rel:.' + au BufEnter *.h* let b:fswitchlocs='reg:/include/lib/,rel:.' + au BufEnter *.cpp,*.cc,*.cxx let b:fswitchdst='h,hxx,hpp,hh' + au BufEnter *.h,*.hh,*.hxx let b:fswitchdst='cc,c,cxx,cpp' + + let g:mapleader = "\" + let g:maplocalleader = ',' + nnoremap :WhichKey '' + nnoremap :WhichKey ',' + vnoremap :WhichKeyVisual '' + vnoremap :WhichKeyVisual ',' + + let g:which_key_map = {} + au VimEnter * call which_key#register('', 'g:which_key_map') + let g:which_key_map.b = { + \ 'name': '+buffer', + \ '1': ['b1', 'buffer 1'], + \ '2': ['b2', 'buffer 2'], + \ 'd': ['bd', 'delete-buffer'], + \ 'f': ['bfirst', 'first-buffer'], + \ 'h': ['Startify', 'home-buffer'], + \ 'l': ['blast', 'last-buffer'], + \ 'n': ['bnext', 'next-buffer'], + \ 'p': ['bprevious', 'previous-buffer'], + \ } + +endfunction -if filereadable($HOME . '/.vim/plugins-local.vim') - source ~/.vim/plugins-local.vim -endif