I've switched to Neovim, which I highly recommend you check out as well. Rather than continue modifying this .vimrc I've started a seperate config to take advantage of Neovim's many upgrades. That being said, having a working Vim setup is still useful, so I'm keeping this accessible on GitHub and may occasionally push updates if I have reason to.
git clone https://github.com/ddigeronimo/myvim ~/.vim
ln -s ~/.vim/.vimrc ~/.vimrc
ln -s ~/.vim/.vimrc ~/.ideavimrc