Table of Contents

  1. 1 Preface
    1. 1.1 About the Documentation
    2. 1.2 Philosophy of TextMate
    3. 1.3 Terminology
    4. 1.4 Limitations
  1. 2 Working With Multiple Files
    1. 2.1 Creating Projects (With Tabs)
      1. 2.1.1 Auto-Updating Projects
      2. 2.1.2 Filtering Unwanted Files
      3. 2.1.3 Text and Binary Files
      4. 2.1.4 Positioning the Project Drawer
    2. 2.2 Find and Replace in Projects
    3. 2.3 Moving Between Files (With Grace)
  1. 3 Navigation / Overview
    1. 3.1 Bookmarks
    2. 3.2 Collapsing Text Blocks (Foldings)
      1. 3.2.1 Customizing Foldings
    3. 3.3 Function Pop-up
      1. 3.3.1 Customizing the List
  1. 4 Working With Text
    1. 4.1 Auto-Paired Characters (Quotes etc.)
    2. 4.2 Completion
    3. 4.3 Copy and Paste
      1. 4.3.1 Clipboard History
      2. 4.3.2 Re-indented Paste
    4. 4.4 Editing Modes
      1. 4.4.1 Freehanded Editing
      2. 4.4.2 Overwrite Mode
    5. 4.5 Find and Replace
      1. 4.5.1 Inserting Newlines and Tabs in the Find Dialog
      2. 4.5.2 Find Clipboard
    6. 4.6 Moving Text
      1. 4.6.1 Increase/Decrease Indent Level
      2. 4.6.2 Move Text Up/Down/Left/Right
      3. 4.6.3 Re-indent Text
    7. 4.7 Selecting Text
      1. 4.7.1 Editing Multiple Lines
      2. 4.7.2 Column Selections
    8. 4.8 Column Movement / Typing
    9. 4.9 Smart Tab Behavior
    10. 4.10 Spell Checking
    11. 4.11 Using Spaces Instead of Tabs
  1. 5 Bundles
    1. 5.1 Activation of Bundle Items
      1. 5.1.1 Key Equivalents
      2. 5.1.2 Tab Triggers
    2. 5.2 Editing Default Bundles / Items
    3. 5.3 Deleting Default Bundles / Items
    4. 5.4 Hiding Bundles
    5. 5.5 Sharing Bundles and Bundle Items
    6. 5.6 Assorted Bundles
      1. 5.6.1 Diff
      2. 5.6.2 HTML
      3. 5.6.3 LaTeX
      4. 5.6.4 Source
      5. 5.6.5 SQL
      6. 5.6.6 Subversion
      7. 5.6.7 Text
      8. 5.6.8 TextMate
      9. 5.6.9 Xcode
    7. 5.7 Getting More Bundles
      1. 5.7.1 Installing Subversion
      2. 5.7.2 Setting LC_CTYPE
      3. 5.7.3 Installing a Bundle
      4. 5.7.4 Support Folder
      5. 5.7.5 RSS Feed With Bundle Change Log
  1. 6 Macros
  1. 7 Snippets
    1. 7.1 Plain Text
    2. 7.2 Variables
    3. 7.3 Interpolated Shell Code
    4. 7.4 Tab Stops
    5. 7.5 Placeholders
    6. 7.6 Mirrors
    7. 7.7 Transformations
  1. 8 Shell Commands
    1. 8.1 Executing Commands / Filtering Text
    2. 8.2 Search Path
  1. 9 Environment Variables
    1. 9.1 Dynamic Variables
    2. 9.2 Static Variables
    3. 9.3 Context Dependent Variables
    4. 9.4 Project Dependent Variables
  1. 10 Commands
    1. 10.1 Command Input
    2. 10.2 Command Output
    3. 10.3 HTML Output
    4. 10.4 Changing Output Type
    5. 10.5 Useful bash Functions
    6. 10.6 Dialogs (Requesting Input & Showing Progress)
  1. 11 Drag Commands
  1. 12 Language Grammars
    1. 12.1 Example Grammar
    2. 12.2 Language Rules
    3. 12.3 Rule Keys
    4. 12.4 Naming Conventions
  1. 13 Scope Selectors
    1. 13.1 Element Names
    2. 13.2 Descendant Selectors
    3. 13.3 Excluding Elements
    4. 13.4 Grouping
    5. 13.5 Ranking Matches
  1. 14 Themes
    1. 14.1 Sharing
  1. 15 Preferences Items
    1. 15.1 Completions
    2. 15.2 Indentation
    3. 15.3 Symbol List
    4. 15.4 Paired Characters
    5. 15.5 Other
  1. 16 Key Bindings
    1. 16.1 Bundle Items
    2. 16.2 Menu Items
    3. 16.3 Text Move / Edit Actions
      1. 16.3.1 List of Standard Key Bindings
    4. 16.4 Conventions
  1. 17 Templates
  1. 18 Printing
  1. 19 Saving Files
    1. 19.1 Atomic Saves
    2. 19.2 Creator Code
    3. 19.3 Encoding
    4. 19.4 Extended Attributes (Metadata)
    5. 19.5 Save Automatically when Focus Is Lost
  1. 20 Regular Expressions
    1. 20.1 Introduction
      1. 20.1.1 External Resources
    2. 20.2 Regular Expressions in TextMate
    3. 20.3 Syntax (Oniguruma)
    4. 20.4 Replacement String Syntax (Format Strings)
      1. 20.4.1 Captures
      2. 20.4.2 Case Foldings
      3. 20.4.3 Conditional Insertions
      4. 20.4.4 Escape Codes
  1. 21 Calling TextMate from Other Applications
    1. 21.1 Shell / Terminal
      1. 21.1.1 The General EDITOR Variable
      2. 21.1.2 TeX Editor
      3. 21.1.3 Edit from less
    2. 21.2 URL Scheme (HTML)
    3. 21.3 ODB Editor Suite
    4. 21.4 Cocoa Text Fields
  1. 22 Expert Preferences
    1. 22.1 NSDragAndDropTextDelay
    2. 22.2 NSRecentDocumentsLimit
    3. 22.3 OakBundleItemsPopUpMenuKeyEquivalent
    4. 22.4 OakBundleManagerDisambiguateMenuFontSize
    5. 22.5 OakDefaultBundleForNewBundleItems
    6. 22.6 OakDefaultLanguage
    7. 22.7 OakDisableSessionRestore
    8. 22.8 OakDocumentCustomFSMetaData
    9. 22.9 OakDocumentDisableFSMetaData
    10. 22.10 OakFindPanelDisableHistory
    11. 22.11 OakToolTipMouseMoveIgnorePeriod and OakToolTipMouseDistanceThreshold
    12. 22.12 OakWrapColumns
    13. 22.13 OakWordsExcludedFromCapitalization
  1. 23 Getting Help
    1. 23.1 Mailing List
    2. 23.2 IRC Channel
    3. 23.3 Other Resources
      1. 23.3.1 TextMate Cheat Sheet
      2. 23.3.2 TextMate Tutorials
      3. 23.3.3 Screencasts
  1. 24 Appendix
    1. 24.1 Property List Format
      1. 24.1.1 Strings
      2. 24.1.2 Arrays
      3. 24.1.3 Dictionaries
    2. 24.2 Indentation Rules
      1. 24.2.1 Introduction
      2. 24.2.2 The System
      3. 24.2.3 Increase Pattern
      4. 24.2.4 Decrease Pattern
      5. 24.2.5 Increase Only Next Line
      6. 24.2.6 Ignoring Lines
    3. 24.3 Plug-in API