As a happy user of Terminal, what's wrong with it? It's fast, it's simple, it supports multiple colour profiles, it can be customised like any other shell... What more do you want out of your terminals?
I've got Home/Down working correctly in my Terminal.app, you've got to go into Preferences->Settings->Keyboard, then scroll down to find the "home" key, click "Edit", and set the action as "send string to shell", and enter "\001" as the string. Repeat for "end", using "\005" as the string.
Caveat - this is how my work laptop is setup, my personal one is set to "\033[H" and "\033[F" for home/end respectively, but it works as well and I don't remember how I set it up. I'm remembering having some issues with the prefs wanting to escape the backslashes so "\003[H" ended up as "\\003[H" or something like that...
For PageUp/PageDown I find that applying the shift key with them does the trick (at least in applications like vim/less). However you can probably apply a similar trick for them in the prefs.
The Control key (jumping word boundaries) works sometimes for me, sometimes not, haven't tracked that one down yet.
edit: by "correctly" for home/end I mean jumping to the beginning/end of a line.
Out of curiosity, what do you do in a terminal? I ask because I used Linux as my primary desktop for about 7 years before moving to OSX in '06, and since then I've been using Terminal somewhat exclusively (except for the occasional peek at iTerm). Granted, I use gnu screen, and aside from the occasional mutt or irssi these days, I don't use many "full screen" terminal apps other than vim.
Still, I'm genuinely curious because I know you're not the only one that finds Terminal lacking.
I was never really a fan of iTerm, but I do really like using my mouse in terminal applications, so I wrote a SIMBL plugin for Terminal that implements support for mouse tracking: [link redacted]
Also, I think a recent update added support for horizontally splitting windows (with cmd+D).
I do agree though, I think Apple could do a much better job with Terminal.
Indeed. Paired with gnu screen and some bash scripts Terminal is very nice.
I've got, for example, ctrl+a+t setup to trigger a script that opens a new screen tab, prompts for [user@]host:, starts up an ssh session to the host, renames the tab to host for easy reference.
I love Terminal too. It's extremely fast at scrolling, and it is the only terminal emulator I know of that does the right thing when you resize the terminal (it reflows everything to the new width).
It's also knows if any programs are running inside the shell and changes the red "X" button in the top left corner accordingly. If the button is "X", you know you can close the terminal without losing any work. If a program is running (even suspended with CTRL-Z) Terminal changes the button to a circle to indicate that work would be lost if the window was closed.
I miss being able to copy paste by just selecting and pasting it with middle click, which iTerm does allow. Also OOTB it doesn't support fn + arrows for home, end so you have to use ctrl + a for home which is also used for screen. Tiny annoyances, I just happen to prefer iTerm.
Consider replacing C-a in screen with C-z by putting this in your .screenrc:
escape ^Zz
C-a interferes with command line editing and Emacs. C-z makes it a pain to background a process in screen, but if you're like me, you probably never do that, anyway.
Terminal (at least as of 10.6) allows you to select-to-copy/middle click paste within the same Terminal window. Not full blown support, but at least it's something.