SublimeText/TrailingSpaces is a Python project with 890 stars. Highlight trailing spaces and delete them in a flash.
Snapshot summary built from the project's own GitHub metadata — there's no written TopGit review yet. The page will update automatically when a full review is published.
WHY NO REVIEW YET
TopGit writes full reviews for the most-starred, most-requested repositories. This page is a snapshot until then — see the READ ME tab for the original README in full.
highlight trailing spaces and delete them in a flash!
Synopsis
Installation
Alternative installation methods
From github
Manually
Usage
Deletion
Toggling highlighting
Options
Changing the highlighting color
Keeping trailing spaces invisible
Include Current Line
Include Empty Lines
Modified Lines Only
Trim On Save
Save After Trim
Live Matching vs On-demand Matching
Ignore Scope
For power-users only!
Disabled for large files
The matching pattern
About Sublime Text's built-in features
Synopsis
Sublime Text provides a way to automate deletion of trailing spaces upon file
saving (more on this at the end of this file). Depending on your settings, it
may be more handy to just highlight them and/or delete them by hand, at any
time. This plugin provides just that, and a lot of options to fine-tune the
way you want to decimate trailing spaces.
Installation
It is available through
Sublime Package Control and
this is the recommended way of installation (brings configuration instructions,
automatic updates with changelogs…).
Alternative installation methods
From github
You can install from github if you want, although Package Control automates
just that. Go to your Packages directory (find out where it is by running
Preferences: Browse Packages from The Command Palette) and clone this repository:
Download
the plugin as a zip. Copy the Trailing Spaces directory to its location
(see prior section).
Usage
Deletion
The main feature you gain from using this plugin is that of deleting all
trailing spaces in the currently edited document. In order to use this
deletion feature, you may either:
click on "Edit / Trailing Spaces / Delete";
bind the deletion command to a keyboard shortcut:
To add a key binding, open "Preferences / Key Bindings - User" and add:
With this setting, pressing Ctrl + Shift + t will delete all
trailing spaces at once in the current file! For OSX users, quoting wbond:
"When porting a key binding across OSes, it is common for the ctrl key on
Windows and Linux to be swapped out for super on OS X"
(eg. use "super+shift+t" instead).
Beware: the binding from this example overrides the default ST's mapping
for reopening last closed file. You can look at the default bindings in
"Preferences / Key Bindings - Default".
Toggling highlighting
At any time, you can toggle highlighting on and off. You may either:
click on "Edit / Trailing Spaces / Highlight Regions"
bind the toggling command to a keyboard shortcut:
// I like "d", as in "detect" (overrides a default binding, though).
{ "keys": ["ctrl+shift+d"], "command": "toggle_trailing_spaces" }
Options
Several options are available to customize the plugin's behavior. Those
settings are stored in a configuration file, as JSON. You must use a specific
file: Go to "Preferences / Package Settings / Trailing Spaces / Settings" to
add you custom settings.
A few of them are also accessible through the "Edit / Trailing Spaces" menu.
Sometimes, editing a setting will require a fresh Sublime Text to be applied
properly, so try relaunching ST before reporting an issue ;)
All settings are global (ie. applied to all opened documents).
Changing the highlighting color
Default: "invalid"
You may change the highlighting color, providing a color scope name such as
"error", "comment"… just like that:
{ "highlight_color": "comment" }
The scope should be defined in your current theme file. Here is a dummy,
fully-fledged example (feel free to cut irrelevant pieces for your settings)
of such a custom color scope:
You would then use the value of "invalid.illegal".
Keeping trailing spaces invisible
You can make trailing spaces "invisible" yet still rely on the deletion
command. To do that, set the highlight scope to an empty string:
{ "highlight_color": "" }
Beware: this is not the same as disabling the highlighting (see "On-
Demand Matching" below). With this setting, the plugin still runs when opening
a file, and in the background afterwards; you just won't see the trailing
spaces (they are being highlighted with a "transparent" color).
Include Current Line
Default: true
Highlighting of trailing spaces in the currently edited line can be annoying:
each time you are about to start a new word, the space you type is matched as
a trailing spaces. Currently edited line can thus be ignored:
{ "include_current_line": false }
Even though the trailing spaces are not highlighted on this line, they are
still internally matched and will be delete when firing the deletion command.
Include Empty Lines
Default: true
When firing the deletion command, empty lines are matched as trailing regions,
and end up being deleted. You can specifically ignore them:
{ "include_empty_lines": false }
They will not be highlighted either.
Modified Lines Only
Default: false (reopen ST to update)
When firing the deletion command, trailing regions in the entire document are
deleted. There are some use-cases when deleting trailing spaces only on lines
you edited is smarter; for instance when commiting changes to some third-party
source code.
At any time, you can change which area is covered when deleting trailing
regions. You may either:
click on "Edit / Trailing Spaces / Modified Lines Only"
specify as a setting:
{ "modified_lines_only": true }
There is also a command to toggle this feature on and off. You may thus define
a key binding:
Setting this to true will ensure trailing spaces are deleted when you save
your document. It abides by the other settings, such as Modified Lines Only.
{ "trim_on_save": true }
Save After Trim
Default: false
You may not want to always trim trailing spaces on save, but the other way
around could prove useful. Setting this to true will automatically save your
document after you fire the deletion command:
{ "save_after_trim": true }
It is obviously ignored if Trim On Save is on.
Live Matching vs On-demand Matching
Default: true (reopen ST to update)
By default, trailing regions are matched every time you edit the document, and
when you open it.
This feature is entirely optional and you may set it off: firing the deletion
command will cause the trailing spaces to be deleted as expected even though
they were not matched prior to your request. If you are afraid of the plugin
to cause slowness (for instance, you already installed several heavy
plugins), you can disable live matching:
{ "enabled": false }
In this case, for no trailing regions are matched until you request them to be
deleted, no highlighting occurs—it is in fact disabled, regardless of your
"scope" setting. If you want to check the trailing spaces regions, you can
toggle highlighting on and off. In this case, it may come in handy to define
a binding for the toggling command. When "On-demand Matching" is on and some
trailing spaces are highlighted, added ones will obviously not be. Toggling
highlight off and on will refresh them.
With this option you can ignore lines being highlighted based on the scope of
their trailing region.
If at least one scope in the configured list matches a scope in the trailing
region of the line, it won't be highlighted.
By default, the scope under the mouse cursor is shown by pressing
Option+Command+P (OS X) or Ctrl+Alt+Shift+P (Windows, Linux)
// Trailing spaces for Find Results, Build output, Diff and Markdown are ignored
{ "scope_ignore": ["text.find-in-files", "source.build_output", "source.diff", "text.html.markdown"] }
For power-users only!
Disabled for large files
The plugin is disabled altogether for large files, for it may cause slowness.
The default threshold is around 1 million of characters. This is
configurable (in "File Settings - User") and the unit is number of chars:
{ "file_max_size": 1000}
The matching pattern
Default: [ \t]+
Trailing spaces are line-ending regions containing at least one simple space,
tabs, or both. This pattern should be all you ever need, but if you do want
to abide by another definition to cover edge-cases, go ahead:
// *danger* will match newline chars and many other folks
"regexp": "[\\s]+"
About Sublime Text's built-in features
Trailing Spaces is designed to be a drop-in replacement of the limited
Trim Whitespace On Save built-in feature. ST is indeed able to delete
trailing spaces upon saving files, and maybe that's all you need!
In order to enable this behavior, edit "Preferences / Settings"
to add the following:
{ "trim_trailing_white_space_on_save": true }
As Trailing Spaces bypasses this setting, you will have to uninstall it to
benefit from this setting.
Made a little less obvious in the documentation are settings to showcase
whitespaces (not only trailing ones!):
{ "draw_white_space": "all" }
and to ensure a newline is kept at end of file upon saving:
{ "ensure_newline_at_eof_on_save": true }
The former will display all whitespaces in your files. There is another value
of "selection" which display whitespaces under (you got it) your current text
selection.
Does SublimeText/TrailingSpaces have a project website?
No homepage URL was recorded for SublimeText/TrailingSpaces in TopGit's last sync. The README tab above frequently contains screenshots and demo links, or check the repository description on GitHub.
How many stars does SublimeText/TrailingSpaces have?
SublimeText/TrailingSpaces has 890 GitHub stars — refresh the page for the live number, or check github.com/SublimeText/TrailingSpaces. TopGit mirrors GitHub's count but does not claim minute-by-minute accuracy.
Is SublimeText/TrailingSpaces open source?
Yes — SublimeText/TrailingSpaces ships under the MIT license, which makes its source code freely readable (and, depending on license terms, forkable and reusable). Source: github.com/SublimeText/TrailingSpaces.
What is SublimeText/TrailingSpaces?
SublimeText/TrailingSpaces (SublimeText/TrailingSpaces) is a Python project on GitHub. From the project's own README: Highlight trailing spaces and delete them in a flash.
Where do I read more about SublimeText/TrailingSpaces?
This TopGit page is a snapshot — the READ ME tab shows the project's own README content (links stripped, images preserved). The GitHub repository at github.com/SublimeText/TrailingSpaces is the definitive source.
Read full README in the tab above.
Curious whether TrailingSpaces is right for you?
Let ChatGPT, Claude, or Perplexity look into it — click below and see what AI actually says about TrailingSpaces.