An interest plugin I've found recently (Neovim only) is Deoplete, which is basically Ctrl-n on steroids. As you type, it shows a list of completions without any kind of slowdown (on my 4 yo MBA). For some languages, such as TypeScript, it even shows type definitions. It's close to being on-par with the smart completion in IntelliJ. https://github.com/Shougo/deoplete.nvim
- https://github.com/prabirshrestha/asyncomplete.vim
- https://github.com/lifepillar/vim-mucomplete