TextMate 2 bundle: Strips trailing whitespace from current document when saving
Latest commit 776a920 Sep 4, 2015 @bomberstudios Merge pull request #14 from lacyrhoades/master
Update README.md
Failed to load latest commit information.
Macros Make the whitespace stripping dependent on attributes Nov 20, 2014
README.md Update README.md Sep 4, 2015
info.plist Initial import Jan 24, 2012


Strip Whitespace On Save

TextMate 2 bundle: Strips trailing whitespace from current document when saving. Works nicely with my Save On Focus Lost bundle.


  • Clone the git repo to ~/Library/Application Support/Avian/Bundles/Strip-Whitespace-On-Save.tmbundle
  • Relaunch TextMate 2


Customizing the bundle is easy.

Using .tm_properties

Suppose you want to avoid stripping white space on some specific files (like CSV and YAML). Just add the following to your .tm_properties file:

scopeAttributes = attr.keep-whitespace

scopeAttributes = attr.keep-whitespace

If you wanted to preserve whitespace for that messed-up whitespace project of yours, just drop this in its .tm_properties file:

scopeAttributes = attr.keep-whitespace

Of course, you can combine those two approaches for complete control over whitespace-stripping!

If you want to know which scope corresponds to each language, just hit ^⇧P (Show Scope) on a document of that type, and you'll get a nice tooltip with the scope namespaces that apply at the current cursor's position.

Without Using .tm_properties

If you can't (or don't want to) use .tm_properties files, just open the Bundle Editor (Bundles menu ▶︎ Edit Bundles... or pressing ^⌥⌘B) and add -text.tabular.csv in the command's Scope Selector field:

screenshot 2013-12-05 20 35 46

  • To exclude multiple file types, just add (space)-scope.namespace. For example, to exclude CSV and YAML, write: -text.tabular.csv -source.yaml.
  • To work only on specific file types, use the namespace only, without the minus sign (e.g., to strip only CSV files, write text.tabular.csv).
  • To include multiple file types, just add them separated by comma (i.e: text.tabular.csv, source.yaml, text.html.markdown).


You need to be using at least TextMate version 2.0.0-alpha.9317.

To get the most recent nightly build, open Preferences ▶︎ Software Update and -click the "Check Now" button . This will grab the latest version, rather than the one you get by just clicking the button.