How can I expand the number of special characters I can type using my keyboard? I am aware that when I press ⌥ or ⇧⌥ on my Mac, I can type a variety of special characters. I also know that I can insert special characters using the character palette. Is there a way to expand the number of special characters I can type while using the keyboard? I am particularly interested in solutions that work in Lion and Mountain Lion.
Custom text entry key bindings

OS X has a very nice text editing system, which you can extend using Key Bindings. You can, for instance:


Set up special characters to be entered when you press a certain key command.
Insert more than one character at once.
Include navigation commands and change the selection.
Use multi-stroke key bindings — this is how I type the ⌃⌥⇧⌘ characters.


To set this up, you just create the file ~/Library/KeyBindings/DefaultKeyBinding.dict and put your customizations there. This article describes the steps in detail.

Here's a list of the default key bindings, and here's Apple's official guide to the text system and key bindings.

Diacritics

If you're just looking to be able to type more diacritics, and you use a U.S. keyboard, consider using the  U.S. Extended keyboard layout:



This allows you to type such characters as oòôȯóöơōṯțőo̊ɵỏọţǒŏõǫȏṵṷȍ. You can enable it from the Input Sources section of the Language &amp; Text system preferences.

"Press and hold"

In Lion, you can type many special characters by holding down a similar key on your keyboard:



(It turns out this can be customized, if you're up to the task! All it takes is to edit a plist file.)

Arbitrary text substitutions

If you have specific phrases or characters you'd like to use, you can also set up custom substitutions for them in the Text section of Language &amp; Text preferences:



Character palette

I guess you already know this, but I'll include it for completeness. If you enable "Keyboard &amp; Character Viewer" in the Input Sources section of the Language &amp; Text prefs, you can open the Character Viewer and browse through the entire Unicode character set (and you can also browse characters by category):



This window is easily accessible in most applications with ⌃+⌘+space (in older versions of OS X, the shortcut was ⌥+⌘+T).