Most of this can be done with Vim already... And the stuff that can't, like graphics, popups... I don't care for. How would you control that sidebar? With the MOUSE O.o !? I like nerdtree exactly because it's a buffer, because I can navigate it like my text. The essence of my comment above is that I want this in my IDE's, not the other way around..
Also: vim has tabs (:tabnew)... And there are search plugins for vim, fuzzy finder being one.
EDIT: But I like your idea of turning Vim into a real IDE, I've been looking into this .. Vim need to "understand" the code. Better omnicomplete, refactoring ...
I'm not blaming you specifically, but this is the problem - anytime someone points out something that could be better with vim, people jump in to show "yes vim CAN do that". And they're right. It's just that it's done worse, and takes a lot of setting up to get right.
To elaborate on the "worse" part, there are a few problems right now:
1. The plugins don't interact nicely with each other. For example, NERDTree exists, but it doesn't always play nicely with other plugins. Keeping it always stuck on the left side of the screen, taking up the same space, is not possible. If you use fuzzyfinder, for example, running fuzzyfinder from withing the NERDTree buffer will open the new buffer INSTEAD of NERDTree. This is never what I want. For another example, try jumping to a saved mark across files (e.g. 'V) from within NERDTree.
This is not even getting into plugins that will create new windows, and screw with your window layout, including messing up NERDTree.
In my vision, I would want to have a sidebar, make it keyboard-controllable of course, just make it "outside" of the actual vim, letting you control it absolutely. This is just one example.
2. The second problem is, vim looks bad. I'm sorry, but little graphical conveniences just don't exist in vim, and it is often the worse for it. For example, open Sublime Text's "find if project" drawer. It looks much better, is better convenience-wise, and it's something I use 200 times a day - I want it to be perfect. The fact that the drawer appears in the top-left, has a larger font-size, uses bold properly to make it clear what you're selecting, etc., is something that is just plain BETTER.
3. As for the current solutions to some of the things you mentioned:
Find file in project plugins: Yes they work. They don't look nice (see point 2 above), but they do exist. However, you have a choice between:
- Command-t, which is annoying to set up (don't take my word for it - look at the list of users who rant and rave about how good ctrl-p is, because it is easier to set up!).
- Ctrl-p - awesome (I use this one), but often slow. Especially when I want to display 50 results at a time (I have a large screen, I want to USE it). Coloring all the results is slow, and I'm not on a slow machine or anything. I'm not even talking about the indexing time, which luckily for me isn't a problem with my currently small projects.
- FuzzyFinder - nice, but looks terrible, and has a lot of funky behavior. E.g., the NERDTree mess (ctrl-p avoids this by writing code in the plugin to detect "common buffers" and not load things into them - not a scalable solution).
As for tabs, sure, vim has tabs - except they're not supposed to be used like the tabs everyone is familiar with, because that's what buffers are for. They're more for "workspaces". Forget the terrible naming of a feature which is similar, but different to what everyone else in the world means when they say "tab" - there are still no good ways to show which files you have open. It's not a killer feature, but a convenience a lot of people would like.
Summary: Let me get this straight. I love vim. I adore it. I kind of hate it, because having used vim, I can't find myself liking anything else - even my beloved Sublime Text 2, which is an amazing editors, frustrates me for lack of vim features.
The reason I write all of this is because I want the editing experience of vim, but the "everything-else" experience of Sublime Text 2 (or any modern editor). That would be an amazing thing.
Just to be clear: I was the person saying things could be better... But I also wanted to point out Vim CAN do most of it. I agree with you on many points...
Maybe I could try writing some plugins in the future :)
Also: vim has tabs (:tabnew)... And there are search plugins for vim, fuzzy finder being one.
EDIT: But I like your idea of turning Vim into a real IDE, I've been looking into this .. Vim need to "understand" the code. Better omnicomplete, refactoring ...