I like Visual Studio on Windows, but I actually prefer not using an IDE on Linux.
I like VIM + CMAKE + make at console in a Linux environment, but admittedly using VIM is somewhat self-justifying as an exercise for me to learn VIM, which itself is a useful skill (its nice to know one good non-wysiwyg text editor because you're basically guaranteed to have access to it on any system you can imagine, even minimalist linux systems and often even embedded systems like routers, and/or when you SSH into a remote system). Once you configure CMAKE and generate a make file for your system, building from the shell is as simple as 'make build'. I like VIM as my non-wysiwyg editor, but some people like Emacs, its one of the great nerd holy wars.
If I wanted to be a bit easier on myself, I'd probably substitute SlickEdit in for VIM. It's got powerful shortcuts like VIM/Emacs, and is Linux/Mac/Windows cross-platform, but also offers a better wysiwyg/GUI experience than gVIM.
I've always wondered, how do you effectively debug a program on the command line? Do you really use GDB on the command line? I can't imagine doing that without an IDE to show me variable watches, stack, memory dump, and disassembly.
I use code::blocks when I need to develop on linux and windows at the same time (and vim when I use only linux).
The only thing I find easier to do while debugging on code::blocks is adding break points (break file:line). Other than that I find using the console much more agile (bt, up, down, print, step, continue, finish) specially because the gdb's autocomplete works so well
On topic:
You can use VIM, a makefile and some plugins/macros (for instance, I macro F2 to python <file> and F3 to make). I find it pretty fast now, but it took me a lot of time to learn it. So it is your call, I would recommend it only when the programming language is no longer a problem to you.