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.
- no xterm mouse support (no, option-click is not the same)
- the utterly stupid default for PageUp/PageDown/Home/End, which is correct for OSX UI, but utterly wrong for terminals.
Less obvious (relavent to UI):
- No notification support
- No window splitting (yes, screen works, but, re: changing panes, see xterm mouse, above)
- inability to launch a particular named window group from the command line (if this is possible, please tell me how! :-))
...And much, much more! [1]
[1] :-) And I guess that's about it for the things that bugged me compared to, you know, the actual xterm.