#### Preference Items

![Preference Icon](http://public.serenity.de/bundle_preference.png) **Preference Items** store several, well, Preferences. Most notable are:

* “smartTypingPairs” – They define pairs of characters so that the second character gets automatically inserted when you type the first character. Try it with `"` (double quote) for example. And try it again while you have some text selected. This saves you time and lets you not forget to insert the closing character of (e.g.) a string.
* “shellVariables” – This lets you define Shell Variables to be available for Commands in certain contexts. This is e.g. used for the “Comment Line / Selection” Command. (More on that later.)

As always, the Manual provides [a chapter on Preference Items](http://macromates.com/textmate/manual/preferences_items) for further reading.

#### Templates

![Template Icon](http://public.serenity.de/bundle_template.png)

> A template consists of a (shell) command which generates the actual new file and generally the template file from which the new file will be generated.  
— [The Manual](http://macromates.com/textmate/manual/templates)

### Special Bundles

***CAUTION:*** *The “Text” and “Source” Bundles define the basis for most other Bundles. You should not deactivate them!*

### Conclusion so far

I know this must have been a rough ride until now – but you will thank me at some point for the insight you have gained about the Bundles I think. TextMate is 1000% adaptable and extensible – yes, this number is right. Without those bundles that are mostly written by Users like you and me TextMate would not have 1/10th of its power.

And now for the fun part where we will use all this power.

---

## Editing Text

(Please see the TextMate manual about the [conventions used for keyboard shortcuts](http://macromates.com/textmate/manual/preface#terminology).)

Beside the standard navigation keys there are some handy shortcuts (most of which are working throughout Cocoa/OSX applications and are common to people coming from e.g. emacs).

### Caret movement

* `⌃F`, `⌃B` Character forward/back

* `⌃A`, `⌃E` Line beginning/end