My preferred CLI editor is nano, which is super handy for triage actions on a running server. On my Ubuntu workstation, I use Eclipse PDT. It has not just code formatting with colors and such, but you can also look up functions and objects by putting the cursor in them and hitting the F3 key. This takes you immediately to the function or object definition. It also provides autocompletion as you type, which provides suggestions for functions, classes, methods, your own variables, and parameters for functions and methods. If you bother to write your own javadoc style comments, you can control the information available in the autocompletion popups for your own classes and objects. In my reckoning, these features are vital in any IDE that you might use because they address the most tedious aspects of PHP coding: remembering the exact names of functions and class names, remembering the sequence of parameters supplied to various functions, and understanding the inner workings of functions.
That said, I haven't had much luck setting up Eclipse to step through my code if my code runs on apache. It is possible to establish a channel of communication between apache and eclipse to do this, but it's a pain in the ass and breaks easily. I vaguely recall using Xdebug for this purpose. It's been a long time since I bothered to try this. My coding style has evolved to use logging to inspect objects and identify problems.