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: 
In MacOS' Terminal app, you can change your keyboard bindings; go to Terminal Preferences (shortcut `Cmd` + `,`) and navigate to the 'Keyboard' tab:

```
Key => Action
control cursor left => \033b
control cursor right => \033f

```

etc. You can do the same thing with other emacs-style bindings. As far as switching tabs, that's a System Preferences > Keyboard > Keyboard Shortcuts setting; click 'Application Shortcuts' on the left side, and then click `+` on the right to add a new shortcut. Use your desired keyboard combo and pair it with the exact menu name, which in Terminal for moving forward/backward through tabs is 'Select Next Tab' and 'Select Previous Tab' (via the Window menu in Terminal), respectively.

Does that help?
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.