Inline lint highlighting for the Sublime Text 2 editor
Switch branches/tags
Nothing to show
Pull request Compare This branch is 446 commits behind SublimeLinter:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
Default (Linux).sublime-keymap
Default (OSX).sublime-keymap
Default (Windows).sublime-keymap



A code-validating plugin with inline highlighting for the Sublime Text 2 editor.

Supports the following languages:

  • Python - native, moderately-complete lint
  • PHP - syntax checking via "php -l"
  • Perl - syntax+deprecation checking via "perl -c"
  • Ruby - syntax checking via "ruby -wc"
  • Javascript - lint via node.js (you must install it, see and built in jshint
  • Objective-J - lint via built-in capp_lint (


Without Git: Download the latest source from and copy and the SublimeLinter/ folder to your Sublime Text "User" packages directory.

With Git: Clone the repository in your Sublime Text Packages directory (located one folder above the "User" directory)

git clone git://

The "User" packages directory is located at:

  • Windows: %APPDATA%/Sublime Text 2/Packages/User/
  • OS X: ~/Library/Application Support/Sublime Text 2/Packages/User/
  • Linux: ~/.Sublime Text 2/Packages/User/


For detailed, up to date instructions, enter the following at the console


or view.run_command("lint", "help")

  1. To enable the plugin to work by default, you need to set a user preference "sublimelinter" to true.
  2. You can turn on/off the linter via a command view.run_command("linter_on") (or "linter_off") - even if you have not set a user preference before.

Note that the linter normally works in a background thread and is constantly refreshing when enabled.

  1. To run a linter "once" (i.e. not always on in the background), you use view.run_command("run_linter"), "LINTER") where "LINTER" is one of "Python", "PHP" or "pylint".
  2. If you run a linter via a commmand as in 3. above, the realtime linter is automatically disabled. To reset to its previous state (on or off) AND to clear all visible "errors", you use the command view.run_command("reset_linter").

Disabling Languages

If you want to disable linting for specific languages, add their names (as listed above) to the file settings array "sublimelinter_disable". For example, to disable Perl linting:


The language name is case-insensitive.

Python and PEP8

If you use SublimeLinter for pep8 checks, you can ignore some of the conventions, with the user preference "pep8_ignore".

Here is an example:


This configuration will ignore the long lines convention. You can see the list of codes (as "E501") in this file.

Python and PyFlakes

If you use SublimeLinter for pyflakes checks, you can ignore some of the "undefined name xxx" errors (comes in handy if you work with post-processors, globals/builtins available only at runtime, etc.). You can control what names will be ignored with the user preference "pyflakes_ignore".