Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Vim-like modelines for Sublime Text.

branch: master

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 bin
Octocat-spinner-32 tests
Octocat-spinner-32 .gitignore
Octocat-spinner-32 .hgignore
Octocat-spinner-32 .hgtags
Octocat-spinner-32 LICENSE.TXT
Octocat-spinner-32 MANIFEST.in
Octocat-spinner-32 README.rst
Octocat-spinner-32 setup.py
Octocat-spinner-32 sublime_modelines.py
README.rst

Sublime Modelines

Set settings local to a single buffer. A more granular approach to settings than the per file type .sublime-settings files.

Inspired in Vim's modelines feature.

Getting Started

Download and install SublimeModelines.

See the installation instructions for .sublime-packages.

Side Effects

Buffers will be scanned .on_load() for modelines and settings will be set accordingly. Settings will apply only to the buffer declaring them.

Usage

How to Declare Modelines

Modelines must be declared at the top or the bottom of source code files with one of the following syntaxes:

# sublime: option_name value
# sublime: option_name value; another_option value; third_option value

Note: # is the default comment character. Use the corresponding single-line comment character for your language. When there isn't a concept of comment, the default comment character must be used.

How to Define Comment Characters in Sublime Text

SublimeModelines finds the appropriate single-line comment character by inspecting the shellVariables preference, which must be defined in a .tmPreferences file. To see an example of how this is done, open Packages/Python/Miscellaneous.tmPreferences.

Many packages giving support for programming languages already include this, but you might need to create a .tmPreferences file for the language you're working with if you want SublimeModelines to be available.

Caveats

If the option's value contains a semicolon (;), make sure it isn't followed by a blank space. Otherwise it will be interpreted as a multioption separator.

Non-Standard Options

For some common cases, no directly settable option exists (for example, a setting to specify a syntax). For such cases, Sublime Modelines provides non-standard accessors as a stop-gap solution.

x_syntax Packages/Foo/Foo.tmLanguage

Sets the syntax to the specified .tmLanguage file.

Something went wrong with that request. Please try again.