X-Git-Url: https://git.sthu.org/?p=vimconf.git;a=blobdiff_plain;f=plugins.vim;h=a79fac1e780977df22082ebb29d38fe31ab8b6ec;hp=82476dc731e413506138062fc59591c47e1a19b3;hb=HEAD;hpb=d58fe541bca03e9ce220ef3163d84bf1031279ab diff --git a/plugins.vim b/plugins.vim index 82476dc..66939e6 100644 --- a/plugins.vim +++ b/plugins.vim @@ -3,115 +3,126 @@ function! Cond(cond, ...) return a:cond ? opts : extend(opts, { 'on': [], 'for': [] }) 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' -Plug 'derekwyatt/vim-fswitch', {'for': ['c', 'cpp', 'objc']} +" This plugin cannot be conditionally loaded, see github issue #18 +Plug 'derekwyatt/vim-fswitch' ", {'for': ['c', 'cpp', 'objc']} Plug 'godlygeek/tabular' 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" - Plug 'majutsushi/tagbar', {'on': 'TagbarToggle'} - - Plug 'ludovicchabant/vim-gutentags', {'for': ['c', 'cpp', 'objc']} - "Plug 'vim-scripts/Conque-GDB', {'for': ['c', 'cpp', 'objc']} - - Plug 'editorconfig/editorconfig-vim' - Plug 'embear/vim-localvimrc' - - Plug 'airblade/vim-rooter' - Plug 'Xuyuanp/nerdtree-git-plugin', {'on': 'NERDTreeToggle'} - - Plug 'plasticboy/vim-markdown', {'for': 'markdown'} - Plug 'lvht/tagbar-markdown', {'for': 'markdown'} - Plug 'habamax/vim-asciidoctor', {'for': 'asciidoc'} +Plug 'nfnty/vim-nftables' - Plug 'PProvost/vim-markdown-jekyll', {'for': 'markdown'} - Plug 'tpope/vim-liquid', {'for': ['liquid', 'html', 'xml', 'markdown']} - Plug 'tpope/vim-ragtag' +function PluginsConfig() - Plug 'Shougo/neosnippet.vim' - Plug 'Shougo/neosnippet-snippets' + " Some preferences for indent detection + let g:detectindent_min_indent = 2 + let g:detectindent_max_indent = 4 + let g:detectindent_preferred_indent = 4 - Plug 'tpope/vim-speeddating' - Plug 'mattn/calendar-vim' + " 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 - " Costs a second startup time - Plug 'dbeniamine/cheat.sh-vim', {'on': 'Cheat'} + let g:airline_powerline_fonts=1 + let g:airline#extensions#tabline#enabled=1 + let g:airline#extensions#branch#enabled=1 - if g:lowendbox == 0 + let g:gruvbox_contrast_light='hard' + let g:gruvbox_contrast_dark='hard' + set bg=dark - Plug 'mhinz/vim-startify' - - if has('nvim') - Plug 'Shougo/deoplete.nvim', {'do': ':UpdateRemotePlugins'} - Plug 'Shougo/denite.nvim', { 'do': ':UpdateRemotePlugins' } - else - Plug 'Shougo/deoplete.nvim' - Plug 'Shougo/denite.nvim' - - Plug 'roxma/nvim-yarp' - Plug 'roxma/vim-hug-neovim-rpc' - endif - - " java extension to deoplete - Plug 'artur-shaik/vim-javacomplete2', {'for': 'java'} - - Plug 'neomake/neomake' - - Plug 'lervag/vimtex', {'for': 'tex'} - - Plug 'mhinz/vim-signify' - Plug 'tpope/vim-fugitive' - Plug 'gko/vim-coloresque' - - Plug 'vimwiki/vimwiki' - Plug 'jceb/vim-orgmode', {'for': ['org']} - - Plug 'cakebaker/scss-syntax.vim', {'for': 'scss'} - Plug 'hail2u/vim-css3-syntax', {'for': ['scss', 'css']} + 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 - Plug 'sjl/splice.vim', {'on': 'SpliceInit'} + 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'], + \ } - if has('nvim-0.5') - Plug 'nvim-treesitter/nvim-treesitter', {'do': ':TSUpdate'} - else - Plug 'sheerun/vim-polyglot' - endif - endif -endif +endfunction -if filereadable($HOME . '/.vim/plugins-local.vim') - source ~/.vim/plugins-local.vim -endif