My favorite IDE is and probably always will be Microsoft Visual C++ 6.0. Since moving to Unix I've tried a few; Eclipse, Xcode, Kdevelop, and generally found them lacking because of the way they tie in with the hackish automake system. I used kdevelop happily for 2 years, then all my projects broke with the next automake upgrade. There was nothing left to do but trash all project files not ending in .[ch] and write my own makefiles.
They tie in with automake, of course, to provide the ability to build their projects without actually having the graphical IDE installed. Anything less would be shocking on a UNIX system, but looking at an autogenerated makefile is like looking at HTML generated by MS Word. Create a project with an IDE and it will be a herculean task to deal with it without the same IDE. Depending on how picky it is, it might even need to be the same version of the same IDE.
I like emacs about as much as you do. I like vi about as much as a snakebite. But typing in a black window instead of a white one really isn't that bad, if you use a text editor invented
after the AT keyboard was.
Try nano. With tools like the
Data Display Debugger around, code autocompletion is about the only thing you
don't get sans-IDE these days.
There's a lot of buzz about Eclipse these days. I remain suspicious of any VM language that occupies that many megabytes of disk real estate, but if you don't mind Java, it may be the way to go for learning the language without dealing with the console (directly).