I'm curious, is there any mode or plugin except the "It's open source, make it yourself"-plugin to make Vi/Vim/Emacs support 'intelligent search/replace' or other quick refactorings? By that, I don't mean regexps, I mean that the editor actually has deeper knowledge of the language you're editing, and can help you change the name of a type in a specific namespace, without touching any methods or variables or other strings in the code that happen to have the same name as the type. Or change the method name on this particular type, but not the methods with the same names on other types, etc. Over an entire project with multiple sub-projects.
To me, (and probably anyone who refactors code), this is a huge time-saver compared to standard search/replace. Also, I imagine this would be hard to implement as a plugin to Vi/Vim/emacs if you let the tool chain be totally replaceable links - e.g. how do you determine which files are part of the project and need to be looked through, if you can use any one of a pretty large number of tools that can do the work of 'make'?
(I may be wrong. I used emacs/make etc. on SunOS until the early 90s, then moved on to Windows in mid/late 90's, and am now moving back to the *nix-world again, so I've been out of the loop for quite some time. Maybe this type of functionality is now standard in Vi/Vim/emacs too...)
Basically, an IDE sets a standard that makes it possible to ignore some of the most basic problems and instead concentrate on solving higher-level problems. I think this is a good thing (tm). I also don't value 'understanding the build process' that highly. I've been around enough that I happen to understand it (should probably qualify that with a 'most of the time'), but I'm not sure that it's been all that useful since I started using IDEs. Most of the time the build broke before, it was because I did something stupid in the makefile. An IDE typically handles all that for you. I do not miss editing makefiles.