ctrl+shift+p filters: :st2 :st3 :win :osx :linux
浏览

尾随空格

SublimeText 全部 前100

高亮显示尾随空格并在瞬间删除它们。

详情

  • 1.3.7
    1.3.6
    1.2.1
  • github.​com
  • github.​com
  • 1年前
  • 31分钟前
  • 13年前

安装

  • 总计 445K
  • Win 227K
  • Mac 144K
  • Linux 75K
8月6日 8月5日 8月4日 8月3日 8月2日 8月1日 7月31日 7月30日 7月29日 7月28日 7月27日 7月26日 7月25日 7月24日 7月23日 7月22日 7月21日 7月20日 7月19日 7月18日 7月17日 7月16日 7月15日 7月14日 7月13日 7月12日 7月11日 7月10日 7月9日 7月8日 7月7日 7月6日 7月5日 7月4日 7月3日 7月2日 7月1日 6月30日 6月29日 6月28日 6月27日 6月26日 6月25日 6月24日 6月23日 6月22日
Windows 17 9 8 10 13 6 12 11 9 5 7 4 12 4 7 17 1 9 11 11 12 13 12 9 4 8 14 17 14 15 7 12 7 9 17 13 7 5 7 10 4 8 12 9 5 4
Mac 6 6 2 2 5 5 8 7 4 4 3 3 5 8 7 5 3 2 2 8 3 6 4 2 4 7 5 5 3 2 2 2 6 4 6 3 6 2 1 4 4 3 9 3 2 1
Linux 3 3 2 3 6 3 3 9 3 4 3 3 4 5 2 8 0 2 4 7 4 2 4 0 2 4 2 9 5 4 1 1 2 3 1 3 3 5 1 1 2 1 1 1 3 3

说明文档

源码
raw.​githubusercontent.​com

尾随空格

A Sublime Text plugin that allows you to…

高亮显示尾随空格并在瞬间删除它们!


摘要

Sublime Text提供了一种在文件保存时自动删除尾随空格的方法(更多内容请参阅此文件的末尾)。根据您的设置,您可能更愿意在任何时间手动突出显示它们并/或手动删除它们。此插件正是为此而设计的,并提供了大量选项来精细化您要删除尾随空格的方式。

安装

它可以通过Sublime Package Control获取,这也是推荐的安装方式(提供配置说明、带有变更记录的自动更新等)。

替代安装方法

从github

如果您想从github安装,尽管Package Control支持自动化安装,但您仍然可以这样做。转到您的软件包目录(通过从命令面板运行首选项:浏览软件包来找出位置)并克隆此存储库

git clone https://github.com/SublimeText/TrailingSpaces.git

手动

下载插件作为zip文件。将尾随空格目录复制到其位置(参见前面的章节)。

使用

删除

使用此插件获得的主要功能是从当前编辑的文档中删除所有尾随空格。为了使用此删除功能,您可以选择

  • 点击“编辑 / 右侧空白 / 删除”;
  • 将删除命令绑定到快捷键

要添加快捷键,打开“首选项 / 键绑定 - 用户”并添加

{ "keys": ["ctrl+shift+t"], "command": "delete_trailing_spaces" }

使用此设置,按Ctrl + Shift + t将一次性删除当前文件中的所有右侧空白!对于OSX用户,引用wbond的话:“在不同操作系统间迁移快捷键时,Windows和Linux上的Ctrl键在OS X中通常会被super键替换”(例如,使用“super+shift+t”代替)。

注意:此示例中的绑定会覆盖ST默认的重新打开最后关闭的文件的功能。您可以在“首选项 / 键绑定 - 默认”中查看默认的绑定。

切换高亮显示

您可以在任何时候切换高亮显示的开或关。您可以选择

  • 点击“编辑 / 右侧空白 / 高亮区域”
  • 将切换命令绑定到快捷键
// I like "d", as in "detect" (overrides a default binding, though).
{ "keys": ["ctrl+shift+d"], "command": "toggle_trailing_spaces" }

选项

有几种选项可以自定义插件的行为了。这些设置存储在配置文件中,格式为JSON。您必须使用特定的文件:转到“首选项 / 软件包设置 / 右侧空白 / 设置”以添加您自定义的设置。

其中一些也可以通过“编辑 / 右侧空白”菜单访问。有时,编辑一个设置可能需要重新启动Sublime Text以正确应用,所以在报告问题之前尝试重新启动ST吧 :)

所有设置都是全局的(即应用于所有打开的文档)。

更改高亮颜色

默认值:“无效”

您可以通过提供颜色范围名称,例如“错误”、“注释”...来更改高亮显示的颜色。就像那样

{ "highlight_color": "comment" }

范围应在您当前的主题文件中定义。这里有一个示例,一个完整的自定义颜色范围(您可以根据您的设置剪掉不相关的部分)

<dict>
  <key>name</key>
  <string>Invalid - Illegal</string>
  <key>scope</key>
  <string>invalid.illegal</string>
  <key>settings</key>
  <dict>
    <key>background</key>
    <string>#F93232</string>
    <key>fontStyle</key>
    <string></string>
    <key>foreground</key>
    <string>#F9F2CE</string>
  </dict>
</dict>

然后您将使用“invalid.illegal”的值。

保持尾随空格不可见

您可以使右侧空白“不可见”但仍然依赖删除命令。要做到这一点,将高亮范围设置为空字符串

{ "highlight_color": "" }

注意:这并不等同于禁用高亮显示(见下文“按需匹配”)。使用此设置时,插件在打开文件后和在后台运行时仍然运行;您只是看不到右侧空白(它们正在用“透明”颜色进行高亮)。

包含当前行

默认值:true

当前编辑行的右侧空白高亮显示可能会令人烦恼:每次您开始输入新单词时,您输入的空格都会被认为是右侧空白。因此,可以忽略当前编辑行

{ "include_current_line": false }

即使在此行上没有高亮显示的右侧空白,它们仍然会在内部匹配,并在触发删除命令时被删除。

包含空行

默认值:true

在触发删除命令时,空行会被匹配为右侧区域并最终被删除。您可以明确忽略它们

{ "include_empty_lines": false }

它们也不会被高亮显示。

只包含修改过的行

默认值:false(重新启动ST以更新)

在触发删除命令时,文档中的右侧区域将被删除。有一些使用情况仅仅在编辑的行上删除右侧空白会更智能;例如,在提交第三方源代码的变化时。

您可以在任何时候更改删除右侧区域时覆盖的区域。您可以选择

  • 点击“编辑 / 右侧空白 / 仅修改行”
  • 指定为设置
{ "modified_lines_only": true }

还有命令可以切换此功能的开/关。因此,您可以定义一个快捷键

{ "keys": ["pick+a+shortcut"], "command": "toggle_trailing_spaces_modified_lines_only" }

保存时截断

默认值:false

将此设置为true将在保存文档时删除右侧空白。它服从其他设置,例如仅修改行

{ "trim_on_save": true }

截断后保存

默认值:false

您可能不希望在保存时总是修剪右侧空白,但其他方式可能很有用。将此设置为true将在您触发删除命令后自动保存您的文档

{ "save_after_trim": true }

如果保存时修剪开启,则明显忽略。

实时匹配与按需匹配

默认值:true(重新启动ST以更新)

默认情况下,每次您编辑文档时以及打开文档时,都会匹配右侧区域。

这个功能完全是可选的,您可以选择关闭它:在发删除命令时,将按预期删除尾部空格,即使它们在您的请求之前没有匹配到。如果您担心插件会导致速度变慢(例如,您已经安装了几个重型插件),您可以选择禁用实时匹配。

{ "enabled": false }

在这种情况下,直到您要求删除尾部区域,都不会发生任何匹配,也就不会高亮显示——实际上它是被禁用的,与您的“范围”设置无关。如果您想检查尾部空格区域,可以切换高亮显示的开关。在这种情况下,定义一个切换命令的快捷键可能很有用。当“按需匹配”开启且某些尾部空格高亮时,新添加的就不会高亮。开关高亮闪烁会刷新它们。

忽略范围

默认:["text.find-in-files", "source.build_output", "source.diff", "text.html.markdown"]

使用此选项,您可以根据尾部区域的范围忽略高亮显示的行。

如果配置列表中的至少一个范围与行的尾部区域范围匹配,则不会高亮显示。

默认情况下,按下Option+Command+P(OS X)或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"] }

仅面向高级用户!

对大文件禁用

对于大文件,插件完全禁用,因为它可能造成速度变慢。默认阈值约为一百万个字符。这是可配置的(在“文件设置 - 用户”中),单位为字符数。

{ "file_max_size": 1000}

匹配模式

默认:[ \t]+

尾部空格是包含至少一个简单空格、制表符或两者的行尾区域。这个模式应该就是您任何时候所需要的,但如果您确实想遵守另一个定义来涵盖边缘情况,也请随意。

// *danger* will match newline chars and many other folks
"regexp": "[\\s]+"

关于Sublime Text内置功能

尾部空格旨在替代内置的有限功能Trim Whitespace On Save。ST确实能够在保存文件时删除尾部空格,这可能是您所需要的全部!

为了启用此行为,编辑“首选项/设置”以添加以下内容。

{ "trim_trailing_white_space_on_save": true }

由于尾部空格绕过了此设置,您必须卸载它才能从此设置中获益。

在文档中不太明显的是设置以展示空白字符(不仅是尾部空格

{ "draw_white_space": "all" }

并确保在文件保存时保持文件末尾的新行。

{ "ensure_newline_at_eof_on_save": true }

前一个将显示文件中的所有空白字符。还有一个“选择”值,用于显示当前文本选择下的空白字符。