The thing that draws me to Vim, really, is the extensibility. There's a steep learning curve to creating a powerful Vim extension, but there are still a huge number of them. Imagine if Light Table can make editor extension something you can do per project!
I probably have a unique preferred layout of Vim splits and tabs that I use for each codebase I work with. Being able to take this further, telling the editor which parts of code are significant and in which ways they go together, I'd have so much less mental overhead.
I love the idea that I could navigate our current codebase by endpoint, jumping to the account management portion of our API, automatically having the relevant back-end code and unit tests on-screen, along with benchmark info and test results. Since we adhere to general conventions at least within a project, there's no reason this can't be done.
vims extensibility is a commonly cited positive, but I totally do not understand it, since pretty much every editor imaginable is extensible in similar fashion, and pretty much all of the use better languages then vim.
By contrast, emacs is basically an application platform that ships with an editor implementation, and eclipse is a platform for building editors.
It's not that vim isn't extensible, it is, just not as much as other alternatives, and nowhere near as easily as most of its competition.
IMO the real advantage of vim is that it is a highly efficient and productive tool that works great without any customization, and is available everywhere without installation. Which is pretty much the opposite of the above opinion.
I probably have a unique preferred layout of Vim splits and tabs that I use for each codebase I work with. Being able to take this further, telling the editor which parts of code are significant and in which ways they go together, I'd have so much less mental overhead.
I love the idea that I could navigate our current codebase by endpoint, jumping to the account management portion of our API, automatically having the relevant back-end code and unit tests on-screen, along with benchmark info and test results. Since we adhere to general conventions at least within a project, there's no reason this can't be done.