Question: How do I better navigate the command line? In TextMate, I can do:

* `CMD` + `ALT` + `ARROW` to switch tabs
* `CMD` + `SHIFT` + `ARROW` to highlight lines of text
* `ALT` + `SHIFT` + `ARROW` to highlight words
* `ALT` + `ARROW` to jump words, etc.

How do I do this kind of stuff in the terminal?

Answer: 
This is a pointer for anyone landing here looking for the equivalent tips for iTerm (as opposed to the default terminal).

To do the same in iTerm, go to menu "Bookmarks", "Manage Profiles", "Keyboard profiles", "Global".

Then add all of the shortcuts you see in the other answers here, but instead of sending text "\033..." when creating a mapping, you simply select the action "send character sequence" and the character for the escape sequence!.

* "\033b" becomes b
* "\033f" becomes f
* and so on.

[Escape sequence example](http://i.stack.imgur.com/woUEy.png)
Some things can be done by editing the readline bindings (see `bind -p` / [man](http://www.faqs.org/docs/bashman/bashref_90.html) [bash](http://www.faqs.org/docs/bashman/bashref_93.html#SEC100)) but for some of the mac keyboard keys you can (or need to?) set extras up in Terminal.app's preferences.

For word navigation try this: 

Terminal preferences -> settings -> keyboard

add the following:

* option cursor left \033b (escape b) (backwards word)
* option cursor right \033f (escape f) (forward word)
* option forward delete \033d (escape d) (kill word)

Word boundaries behave a little differently, but it's better than single character or whole line navigation, and doesn't require trading your option key for a meta key and learning a bunch of new key combos.