X-Git-Url: https://git.sthu.org/?p=vimconf.git;a=blobdiff_plain;f=plugins.vim;h=66939e622131dafdff86b125b44b48433dc2451f;hp=05d93fd6c62deff49f9c40b51ad13bcc7546c8f4;hb=HEAD;hpb=cef429953de175f7da55eabf8e1ba9df310f2e64 diff --git a/plugins.vim b/plugins.vim index 05d93fd..66939e6 100644 --- a/plugins.vim +++ b/plugins.vim @@ -8,6 +8,7 @@ Plug 'dstein64/vim-startuptime' Plug 'vim-airline/vim-airline' Plug 'gruvbox-community/gruvbox' +Plug 'liuchengxu/vim-which-key' Plug 'benknoble/vim-auto-origami' @@ -24,17 +25,104 @@ Plug 'junegunn/vim-easy-align' Plug 'thinca/vim-fontzoom' -Plug 'lambdalisue/vim-manpager', {'on': 'MANPAGER'} +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