Logo

Contents:

  • 1. Introduction
    • 1.1. Getting Sublime Text
    • 1.2. Sublime Basics
      • 1.2.1. Starting Sublime Text
    • 1.3. Major Concepts
      • 1.3.1. Path Syntax
      • 1.3.2. Sublime Python
      • 1.3.3. Sublime API
      • 1.3.4. JSON
    • 1.4. Additional Information Resources
      • 1.4.1. Documentation
      • 1.4.2. In-Application References
      • 1.4.3. Training Videos
      • 1.4.4. Sublime Text Community
      • 1.4.5. 3rd-Party Contributions, Examples, Etc.
  • 2. Editing
    • 2.1. Layouts
      • 2.1.1. set_layout() Arguments
    • 2.2. Keyboard Editing
      • 2.2.1. Spell Checking
      • 2.2.2. Bracket-Type Key Behaviors
      • 2.2.3. Find and Replace
        • 2.2.3.1. Power Feature: Find All
        • 2.2.3.2. Regular Expressions
        • 2.2.3.3. Find in Files, a.k.a. Recursive File Searching
        • 2.2.3.4. Leaving the Find Panel Open
        • 2.2.3.5. After the Find Panel Has Closed
      • 2.2.4. Macros
      • 2.2.5. Further Reading
    • 2.3. Mouse Features
  • 3. Markers and Bookmarks
    • 3.1. Markers
    • 3.2. Bookmarks
    • 3.3. MarkerStack
      • 3.3.1. The Problem MarkerStack Solves
      • 3.3.2. Why MarkerStack is Better than Bookmarks for Interruptions
  • 4. Projects
    • 4.1. Creating a New Project
    • 4.2. Project File Format
      • 4.2.1. “folders” Key
      • 4.2.2. “settings” Key
      • 4.2.3. “build_systems” Key
  • 5. Commands
    • 5.1. Adding Existing Commands to Command Palette
      • 5.1.1. Variables Available in .sublime-commands Args
    • 5.2. Further Reading
  • 6. Command List
    • 6.1. Default
      • 6.1.1. ApplicationCommand
      • 6.1.2. TextCommand
      • 6.1.3. WindowCommand
    • 6.2. A File Icon
      • 6.2.1. ApplicationCommand
    • 6.3. Diff
      • 6.3.1. TextCommand
      • 6.3.2. WindowCommand
    • 6.4. HTML
      • 6.4.1. TextCommand
    • 6.5. Package Control
      • 6.5.1. ApplicationCommand
      • 6.5.2. TextCommand
      • 6.5.3. WindowCommand
    • 6.6. User
      • 6.6.1. ApplicationCommand
      • 6.6.2. TextCommand
      • 6.6.3. WindowCommand
  • 7. Scope, Selectors and Context
    • 7.1. Scope
    • 7.2. Scope Name
    • 7.3. Selector
    • 7.4. Basic Match
    • 7.5. Logical Operators in Selectors
    • 7.6. Context
    • 7.7. API
  • 8. Key Bindings
    • 8.1. Keymap Files
    • 8.2. How Key Bindings are Chosen
      • 8.2.1. Key Bindings Loading Order
    • 8.3. Key Binding Definitions
      • 8.3.1. <key_combination>
        • 8.3.1.1. <key_modifier>
        • 8.3.1.2. <key_name>
      • 8.3.2. <command_name>
      • 8.3.3. “args” Key
      • 8.3.4. Variables in Args
      • 8.3.5. Context
        • 8.3.5.1. <condition> Syntax
        • 8.3.5.2. Creating Custom Conditions
    • 8.4. Diagnosing Binding Problems
  • 9. Default Key Bindings
    • 9.1. Rationale Used in Binding Tables Below
    • 9.2. Named-Key Bindings
    • 9.3. Tab Key
    • 9.4. Default F-Key Bindings
    • 9.5. Default Letter-Key Bindings
    • 9.6. Default Number-Key Bindings
    • 9.7. Default Symbol-Key Bindings
    • 9.8. Ctrl+J Primary
    • 9.9. Ctrl+K Primary
  • 10. Menus
    • 10.1. Customizing Menus
    • 10.2. Menu-Item Structure
    • 10.3. Adding to Existing Sub-Menus
    • 10.4. Dynamically Changing Menu Items
    • 10.5. Side Bar “Magic”
    • 10.6. Other Context Menu “Magic”
    • 10.7. Lastly
    • 10.8. Further Reading
  • 11. Completions
    • 11.1. Using Completions
    • 11.2. Creating Your Own Completions
    • 11.3. Completions File Format
      • 11.3.1. Trigger
      • 11.3.2. Contents
      • 11.3.3. Kind
      • 11.3.4. Annotation
      • 11.3.5. Details
      • 11.3.6. Example
    • 11.4. Implementing Completions in a Plugin
    • 11.5. Further Reading
  • 12. Snippets
    • 12.1. Snippets vs Completions
    • 12.2. Snippet Files
    • 12.3. Smart-Template Syntax
      • 12.3.1. Literal “$”
      • 12.3.2. Fields
        • 12.3.2.1. Default Text
      • 12.3.3. Predefined Variables
      • 12.3.4. Combining Form Fields with Variables
      • 12.3.5. The insert_snippet Command
        • 12.3.5.1. insert_snippet Arguments
      • 12.3.6. Custom Variables
      • 12.3.7. Substitutions
    • 12.4. Creating Snippets
    • 12.5. Finding Snippets
    • 12.6. Further Reading
  • 13. Build Systems
    • 13.1. Selecting a Build System
    • 13.2. Launching a Build
    • 13.3. Navigating Among Results
    • 13.4. Creating Your Own Build System
      • 13.4.1. Variables
    • 13.5. Further Reading
  • 14. Plugins
    • 14.1. Creating New Commands
    • 14.2. Other Command Methods
      • 14.2.1. Inherited Methods
    • 14.3. Text Commands
      • 14.3.1. Some Data Types You Need to Know About
      • 14.3.2. What Happens Inside the run() Method
        • 14.3.2.1. Editing the Buffer
        • 14.3.2.2. Change Position of Caret
        • 14.3.2.3. Rows and Columns
        • 14.3.2.4. Finding New Region(s)
        • 14.3.2.5. Running Other Commands
      • 14.3.3. Further Reading
    • 14.4. Adding Python Packages
      • 14.4.1. Further Reading
    • 14.5. Example Basic Plugin with Functionality for Package Settings
  • 15. Packages
    • 15.1. Sublime Text Packages vs Python Packages
    • 15.2. Locations
    • 15.3. Overriding
      • 15.3.1. Overriding Whole Files from a Zipped Package
    • 15.4. Creating New Packages
      • 15.4.1. A Package’s Python Version
    • 15.5. Managing Package Complexity
    • 15.6. Troubleshooting Packages
      • 15.6.1. Safe Mode
      • 15.6.2. Diagnosing Trouble from the Data Directory
        • 15.6.2.1. Diagnosis by Isolating Packages
        • 15.6.2.2. Diagnosis by Isolating Customizations
    • 15.7. Further Reading
  • 16. Input Handlers
    • 16.1. Flow of Execution
      • 16.1.1. TextInputHandler
      • 16.1.2. ListInputHandlers
      • 16.1.3. Example
  • 17. Event Listeners
    • 17.1. Creating an Event Listener
    • 17.2. Example
    • 17.3. Notes on on_query_context()
  • 18. Event list
    • 18.1. EventListener
      • EventListener.on_init()
      • EventListener.on_exit()
      • EventListener.on_new()
      • EventListener.on_new_async()
      • EventListener.on_associate_buffer()
      • EventListener.on_associate_buffer_async()
      • EventListener.on_clone()
      • EventListener.on_clone_async()
      • EventListener.on_load()
      • EventListener.on_load_async()
      • EventListener.on_reload()
      • EventListener.on_reload_async()
      • EventListener.on_revert()
      • EventListener.on_revert_async()
      • EventListener.on_pre_move()
      • EventListener.on_post_move()
      • EventListener.on_post_move_async()
      • EventListener.on_pre_close()
      • EventListener.on_close()
      • EventListener.on_pre_save()
      • EventListener.on_pre_save_async()
      • EventListener.on_post_save()
      • EventListener.on_post_save_async()
      • EventListener.on_modified()
      • EventListener.on_modified_async()
      • EventListener.on_selection_modified()
      • EventListener.on_selection_modified_async()
      • EventListener.on_activated()
      • EventListener.on_activated_async()
      • EventListener.on_deactivated()
      • EventListener.on_deactivated_async()
      • EventListener.on_hover()
      • EventListener.on_query_context()
      • EventListener.on_query_completions()
      • EventListener.on_text_command()
      • EventListener.on_window_command()
      • EventListener.on_post_text_command()
      • EventListener.on_post_window_command()
      • EventListener.on_new_window()
      • EventListener.on_new_window_async()
      • EventListener.on_pre_close_window()
      • EventListener.on_new_project()
      • EventListener.on_new_project_async()
      • EventListener.on_load_project()
      • EventListener.on_load_project_async()
      • EventListener.on_pre_save_project()
      • EventListener.on_post_save_project()
      • EventListener.on_post_save_project_async()
      • EventListener.on_pre_close_project()
    • 18.2. ViewEventListener
      • ViewEventListener.on_load()
      • ViewEventListener.on_load_async()
      • ViewEventListener.on_reload()
      • ViewEventListener.on_reload_async()
      • ViewEventListener.on_revert()
      • ViewEventListener.on_revert_async()
      • ViewEventListener.on_pre_move()
      • ViewEventListener.on_post_move()
      • ViewEventListener.on_post_move_async()
      • ViewEventListener.on_pre_close()
      • ViewEventListener.on_close()
      • ViewEventListener.on_pre_save()
      • ViewEventListener.on_pre_save_async()
      • ViewEventListener.on_post_save()
      • ViewEventListener.on_post_save_async()
      • ViewEventListener.on_modified()
      • ViewEventListener.on_modified_async()
      • ViewEventListener.on_selection_modified()
      • ViewEventListener.on_selection_modified_async()
      • ViewEventListener.on_activated()
      • ViewEventListener.on_activated_async()
      • ViewEventListener.on_deactivated()
      • ViewEventListener.on_deactivated_async()
      • ViewEventListener.on_hover()
      • ViewEventListener.on_query_context()
      • ViewEventListener.on_query_completions()
      • ViewEventListener.on_text_command()
      • ViewEventListener.on_post_text_command()
    • 18.3. TextChangeListener
      • TextEventListener.on_text_changed()
      • TextEventListener.on_text_changed_async()
      • TextEventListener.on_revert()
      • TextEventListener.on_revert_async()
      • TextEventListener.on_reload()
      • TextEventListener.on_reload_async()
  • 19. Dialog Boxes and User Messaging
  • 20. Clipboard Utilities Available to Plugins
  • 21. View Settings List Example
  • 22. Paths
  • 23. Glossary
  • 24. Notes
    • 24.1. Features I Would Like
Sublime Text QuickRef
  • Search


© Copyright 2025-2026 WGA Crystal Research, Inc. All rights reserved. Last updated on 08-Mar-2026.

Built with Sphinx using a theme provided by Read the Docs.