2017-04-12 15:29:38 +02:00
|
|
|
function! Cond(cond, ...)
|
|
|
|
let opts = get(a:000, 0, {})
|
|
|
|
return a:cond ? opts : extend(opts, { 'on': [], 'for': [] })
|
|
|
|
endfunction
|
|
|
|
|
2017-04-12 14:51:01 +02:00
|
|
|
call plug#begin('~/.vim/plugged')
|
2017-02-11 11:06:28 +01:00
|
|
|
|
2017-04-12 14:51:01 +02:00
|
|
|
Plug 'vim-airline/vim-airline' | Plug 'vim-airline/vim-airline-themes'
|
2017-02-11 11:06:28 +01:00
|
|
|
|
|
|
|
" colorschemes
|
|
|
|
" Plug 'dracula/vim'
|
2017-04-12 14:51:01 +02:00
|
|
|
Plug 'joshdick/onedark.vim'
|
2017-02-11 11:06:28 +01:00
|
|
|
|
2017-04-12 14:51:01 +02:00
|
|
|
Plug 'editorconfig/editorconfig-vim'
|
2017-02-11 11:06:28 +01:00
|
|
|
|
2017-03-06 10:36:51 +01:00
|
|
|
" Notetaking
|
2017-04-12 14:51:01 +02:00
|
|
|
Plug 'xolox/vim-misc'
|
|
|
|
Plug 'xolox/vim-notes'
|
|
|
|
|
|
|
|
Plug 'Rykka/riv.vim', { 'for': 'rst' } " reStructuredText
|
|
|
|
|
|
|
|
Plug 'ervandew/supertab' " simple autocomplete
|
|
|
|
Plug 'tpope/vim-commentary' " (un)comment
|
|
|
|
Plug 'tpope/vim-surround' " handle surroundings
|
|
|
|
Plug 'tpope/vim-repeat' " make plugin commands repeatable
|
|
|
|
Plug 'tpope/vim-dispatch' " dispatch into tmux panes
|
|
|
|
Plug 'vim-scripts/ReplaceWithRegister'
|
|
|
|
Plug 'mattn/gist-vim' | Plug 'mattn/webapi-vim' " create gist from within vim
|
|
|
|
Plug 'Raimondi/delimitMate' " autoclose quotes and brackets
|
|
|
|
Plug 'tpope/vim-fugitive' " awesome git plugin
|
2017-04-15 14:41:41 +02:00
|
|
|
Plug 'scrooloose/nerdtree', { 'on': ['NERDTreeToggle', 'NERDTreeFind'] }
|
|
|
|
Plug 'Xuyuanp/nerdtree-git-plugin', { 'on': ['NERDTreeToggle', 'NERDTreeFind'] }
|
2017-04-12 14:51:01 +02:00
|
|
|
Plug 'ctrlpvim/ctrlp.vim' " fuzzy file finder
|
2018-08-13 11:46:45 +02:00
|
|
|
Plug 'ryanoasis/vim-devicons' " icons
|
2017-04-12 14:51:01 +02:00
|
|
|
Plug 'neomake/neomake' " async linting and making
|
2017-04-12 15:54:04 +02:00
|
|
|
Plug 'benmills/vimux', Cond(!empty($TMUX)) " tmux support
|
2017-04-12 14:51:01 +02:00
|
|
|
Plug 'sickill/vim-pasta' " context aware pasting
|
|
|
|
Plug 'junegunn/goyo.vim' " distraction free writing
|
2017-04-15 14:41:41 +02:00
|
|
|
Plug 'bronson/vim-trailing-whitespace' " highlight unwanted whitespaces
|
2017-04-12 14:51:01 +02:00
|
|
|
|
2017-05-12 14:20:02 +02:00
|
|
|
Plug 'SirVer/ultisnips'
|
|
|
|
Plug 'honza/vim-snippets'
|
2018-08-13 11:46:45 +02:00
|
|
|
Plug 'antoyo/vim-licenses'
|
2017-05-12 14:20:02 +02:00
|
|
|
|
2017-04-12 14:51:01 +02:00
|
|
|
" Python
|
|
|
|
Plug 'davidhalter/jedi-vim', { 'for': 'python' } " python autocomplete
|
2017-02-11 11:06:28 +01:00
|
|
|
|
|
|
|
" Rust plugins
|
2017-04-12 14:51:01 +02:00
|
|
|
Plug 'racer-rust/vim-racer', { 'for': 'rust' } " rust autocomplete
|
2017-04-12 15:54:04 +02:00
|
|
|
if !empty($TMUX)
|
2017-04-12 15:29:38 +02:00
|
|
|
Plug 'jtdowney/vimux-cargo', { 'for': 'rust' } " run cargo in tmux using vimux
|
|
|
|
endif
|
2017-02-11 11:06:28 +01:00
|
|
|
|
2017-04-12 15:54:04 +02:00
|
|
|
Plug 'sheerun/vim-polyglot' " syntax support for many languages
|
|
|
|
|
2017-04-15 14:41:41 +02:00
|
|
|
function! BuildYCM(info)
|
|
|
|
if a:info.status = 'installed' || a:info.force
|
|
|
|
!./install.py --clang-completer --racer-completer
|
|
|
|
endif
|
|
|
|
endfunction
|
|
|
|
|
2017-05-12 14:20:02 +02:00
|
|
|
if has('nvim')
|
|
|
|
Plug 'Shougo/deoplete.nvim', { 'do': ':UpdateRemotePlugins' }
|
|
|
|
endif
|
|
|
|
|
|
|
|
if has('vim')
|
|
|
|
Plug 'Valloric/YouCompleteMe', { 'do': function('BuildYCM') }
|
|
|
|
endif
|
2017-04-15 14:41:41 +02:00
|
|
|
|
|
|
|
" Plug 'artur-shaik/vim-javacomplete2'
|
|
|
|
|
2017-04-12 16:19:29 +02:00
|
|
|
Plug 'lervag/vimtex'
|
|
|
|
|
2017-04-12 14:51:01 +02:00
|
|
|
call plug#end()
|
2017-02-11 11:06:28 +01:00
|
|
|
" vim: set filetype=vim ts=4 sw=4 tw=120 noet :
|