Vim is an incredibly powerful light-weight text editor. However, Vim's features lack some of the usability features most programmers have grown accustomed to using. A good modern text editor will have a plugin manager, a tab completion engine, a thoughtful file system navigator, simple commenting shortcuts, and git integration. Below are five plugins that will unlock those functionalities for Vim.
Installing Vim plugins can be done manually, but why waste the time. The vim-plug plugin manager is easy to set up and configure. From color-schemes to flappy bird, vim-plug will help you manage all of the plugins to suit your hacker needs.
I'm very dyslexic and heavily depend on tab-completion. YouCompleteMe has been my tab-completion engine of choice for many years. One bonus feature I like is that it even does file system completion!
Atom, SublimeText, and VSCode all have similar file system navigation panes for navigating the contents of your project. NERD-tree is a simple side pane that allows you to quickly navigate directories and open files to read and edit.
When I'm writing and debugging code I often like to select a line or block of text and toggle commenting it out. NERD-Commenter is an easy-peasy comment plugin that will do the trick no matter what language you are using.
Fugitive. Vim is not exaggerating when it claims to be the best git wrapper of all time. Fugitive's genius is the way it enables you to intuitively unlock git's power to time-travel. One example of this is how Fugitive can split your code into two panes, allowing you to visually diff two versions of history. I can't tell you how many times this has helped me through sticky situations.