UPDATE 2018-10-11: plugin changes and other updates.
Overall I found that plugins makes Vim really powerful tool. However you need a lot of them and usually you should spent quite some time until you find good ones and sometimes you even have to deal with not working ones.
Another pain point might be operating system you are using and python specifics that arise from that. E.g. On Windows you have to install python 2.7, find x64 vim build and more things to get everything working properly. Therefore I’m really happy that I don’t have to deal with Windows anymore. Situation on Linux is better but still not perfect. E.g. on newest Ubuntu version Gvim is compiled with Python 3 (that’s good) but some plug-ins have not migrated to Python 3. Yes, in the end of year 2018. But enough rants! Let’s move to plug-ins I use and not use anymore. If you have questions, do not hesitate and ask.
For plugins I use vim-plug plugin manager https://github.com/junegunn/vim-plug. It is really simple and works really well. Previously I was using Vim’s native packaging system (:help packages) which works fine with all the plugins I use but it is hard to keep plug-ins up to date easily. I am storing my configuration files using this model in git https://developer.atlassian.com/blog/2016/02/best-way-to-store-dotfiles-git-bare-repo/ and tried using git submodules for plugins. It was good until you need to remove plugins from multiple machines. As well usage of git submodules adds unnecessary layer of complexity.
Here I’m trying to list plugins by category.
Generic programming plugins:
https://github.com/junegunn/fzf.vim - watch some YouTube videos what fzf and fzf.vim is.
https://github.com/w0rp/ale.git - this is amazing plugin and it has already replaced bunch of plugins for me.
let g:deoplete#enable_at_startup = 1 autocmd InsertLeave,CompleteDone * if pumvisible() == 0 | pclose | endif inoremap <expr><tab> pumvisible() ? "<c-n>" : "<tab>"
Note: You need to install neovim python module for this plugin:
pip3 install neovim
https://github.com/SirVer/ultisnips - time saver.
I have remapped UltiSnips trigger to ctrl-j as default Tab conflicts with deoplete.
https://github.com/honza/vim-snippets - collection of useful snippets.
https://github.com/fszymanski/deoplete-emoji - just for fun so I could add emojis to git commits.
Plugins, that I’m not using anymore:
syntastic (https://github.com/vim-syntastic/syntastic) - using Ale instead
vim-lawrencium (https://github.com/ludovicchabant/vim-lawrencium) - not using mercurial currently. No need to use this.
YouCompleteMe (https://github.com/Valloric/YouCompleteMe) - using Deoplete instead.
omnisharp-vim (https://github.com/OmniSharp/omnisharp-vim) - not developing for .NET anymore.
https://github.com/nvie/vim-flake8 - using Ale instead.
" This will corrupt your Quickfix list " even if there are no errors. autocmd BufWritePost *.py call Flake8()
vim-prettier - using Ale instead.
https://github.com/ctrlpvim/ctrlp.vim - using fzf.vim instead.
let g:ctrlp_custom_ignore = 'node_modules'
https://github.com/fisadev/vim-isort.git - using Ale’s isort fixer.
As well you can checkout my .vimrc here with newest list of plugins: https://bitbucket.org/daliusd/cfg/src