I generally use neovim but when reasonable config files should work properly with upstream vim. No effort for vi compatibility is made. I use a mouse/trackpad when appropriate. Plugins are organized as git submodules and use vim's native plugin support.
I'm still very much learning but figured creating a well-documented config would help be better understand this editor.