I know that you specifically leave out vim and emacs in your consideration here, but I have to say, a well-tuned VIM install will do just about anything that you want.
I have a few plugins of choice for VIM:
NerdTree: Brings up a split pane with your current working directory contents. Navigating using the same VIM keys, and allows you to change directory, files, move, copy, and most other filesystem operations.
Ctags: Most people who use UNIX are probably versed with Ctags, but it bears repeating. Generates a list of "tags" such as functions, classes, and variables. This can then be accessed in a split-pane on VIM. Python and C(++) compatible.
Yankring: Provides a buffer of previously copied text. Wonderful for keeping track of multiple copy-pastes as well as delete history.
The benefit of using VIM, in my opinion, is that I am frequently connecting to my robot over an ssh connection, and often don't want a full-blown IDE. When I am working in a terminal, I can open Vim right there, without switching back to an IDE. Vim is also common (in one form or another) on many, many systems (except for Ubuntu by default, for some reason). Vim provides me the power of an IDE without the weight of something like Eclipse.
Also, if the whole texty-console thing scares you (or learning vim, for that matter), solutions like MacVIM and GVIM provide a nice GUI interface, and use many of the system commands for copy, paste, etc.
EDIT: Adding ROS tags to your OmniCppComplete
Answers: Vim Code Complete Under ROS