Tell Sublime Text to ignore everything in .gitignore?

Jonatan Littke picture Jonatan Littke · Aug 28, 2013 · Viewed 15.5k times · Source

Vim has this great plugin to convert the current project's .gitignore into a syntax understandable by Vim and from there exclude all those files from opening.

Using Sublime Text 3's 'Go to Anything' (CMD+P), I get lots of files I'm not interested in, such as stuff under .build and .meteor.

Is there something similar for ST3?

Answer

Mark Amery picture Mark Amery · Oct 15, 2014

I created a quick-and-dirty plugin, sublime-gitignorer, to solve exactly this problem.

It is currently tested on Ubuntu and Windows in Sublime Text 2 and 3. I expect it will also work on any other Linux distro or on Mac.


To install, assuming you have package control, just:

  • Press CTRL+SHIFT+P (CMD+SHIFT+P on Mac)
  • Select "Install Package"
  • Search for the Gitignored File Excluder and press Enter.

Alternatively, if you don't have package control you can copy gitignore_plugin.py to your Packages directory, which you can locate by selecting Browse Packages... from the Preferences menu in Sublime. You should really get Package Control instead, though - it's useful.


I'm not kidding when I say this plugin is dirty. The way it works is that the plugin, every five seconds:

  • Checks for Git repos located within your open folders
  • Asks Git what paths are ignored in each of those repos
  • Adds those paths to the file_exclude_patterns and folder_exclude_patterns settings.

Seems to work okay for most users, though - at least as long as the folders you're opening in Sublime aren't too huge. The presence of giant folders (e.g a typical node_modules folder) can, in combination with this plugin, slow Sublime to a crawl.

Anyone looking to contribute or report bugs should check out the issues page.