If you still feel like maybe vim could be something for you if the rough edges were removable, come talk to us at https://github.com/neovim/neovim in a couple of months when we'll be ready to start implementing new features. The refactoring is going great and work on the VimL -> Lua(JIT) translator is already quite advanced.
Neovim seriously has me so excited that I could scream like a little girl.
On a list of software projects I wish existed, a modernized Vim would be numbers 1 through 10. I enjoy core Vim, but the pain of Vim's limits when adding in new functionality with plugins (like pauses running Syntactic checks, or the hiccups and lack of smoothness of every autocompletion plugin ever) are a downer.
The biggest pro about Vim[1] is that I can open a hundred instances[2] without having my OS gasping for oxygen. I would very much love to see a modern UI, a clean plugin interface, etc., but I fear that those changes would make Vim as heavy as the competition.
I wonder if Emacs will eventually compete, though, both UI-wise and for cleaner plug-ins.
When I am done working on something, and want to start working on another project, I don't close the previous project. I leave it in a virtual desktop. That way, when I wish to resume work on that project (or component of a project), switching to the correct virtual desktop is way faster than opening the console, going to the right directory, opening Vim, and opening all the relevant files. Besides, the local shell history is also ready to grab to start running all the tools I need for testing, debugging and general dev aiding.
Project switching, I find, is really hard, but it is made way harder by having to remember all the unique locations of files, directories and commands related to the project, and having to wait for everything to load.
I really like Sublime's workspaces system as a solution to this problem.
If you have a project open and need to switch to another one, Ctrl-Alt-P opens the project switcher. If you switch to another project, the previous project's workspace is saved. So when you come back to the last project, everything is JUST as you left it.
Alternatively, if you need to have it open in another window (for comparisons or whatnot), just open a new window before opening the project switcher! (Ctrl-Shift-N, Ctrl-Alt-P)
Vim already has support for Lua, although you tend to have to compile from source and enable that option as most distribution packages don't have that option enabled.