I use emacs(gnu style) for both my gui(linux and even at home on windows) and command line.
It has code/variable completion(if you want), jump to subroutines via imenu), compiling in line(again..if you want), remote access to files via ftp or scp, total control over highlighting(though cperl-mode is better then perl-mode), etc.
No particular reason what I picked it over vim. I just started with it and got over the odd key commands(which I now love..maybe it's an acquired taste).
IDEs are nice but I've seen too many people rely on the IDEs to code and think for them instead of doing it themselves.