I’ve tried lots of programming editors and ides over the years, obviously in Unix and Linux this is a Holy War, particularly between the advocates of vi and emacs. It is common for both groups to suggest that the other editor is hopelessly over-complex or clumsy. I think there’s some truth in that, because essentially, they both stink.
I tend to be an emacsen user myself, but I just think emacs is slightly less awful than vi. My first action on a new install is usually to use vi to edit my sources.list in Debian, to help me install emacs. Perhaps thats strange, because I really like sed. So what’s the problem with them? They both share this kind of puritanically awkward interface that works well on a console, but sucks in a GUI. They both use ridiculously arcane sequences of key presses to do anything, and I mean even basic stuff like saving and quitting. Yes, yes, you don’t have to lecture me about old terminals and their limitations, been there done that, got the t-shirt. I tend to do all my systems maintenance in emacs, but when I’m programming, I’ve started to love the softness of a decent editor that actually makes it plain and simple to edit multiple buffers of source code, even though its a pain to use different editors for console and gui work.I can’t bring myself to love gedit, it’s just a bit clunky, and I’ve generally used Kate for lots of PHP. It’s quite nice, but it’s a KDE graft in my otherwise Gnome world, and that causes a few minor annoyances, plus, at least on Debian Kate still doesn’t seem to support a PHP symbol browser.
So, I just tried Geany for a few days. I really like it, it’s simple, fast, lean, has some nice features like showing a feint line at an indentation level, working PHP symbol browsing (the compile function even runs php -l) on the file to check for syntax errors, simple but neat. I nice VC plugin allows easy diffs, but the VC integration could be nicer. All in all, I think I’ll play with it for some more time, but one thing it does annoys me. When I save a PHP file with no new line after the closing characters, it adds one automatically. Bah, I don’t like that, I’d do it if I wanted it. Oh, by the way, I also use PySVN Workbench for casual subversion jobs, it’s nice, clear and makes it easy to avoid silly mistakes. I still tend to use the command line for more complex stuff though.