崇高的文字2:修剪尾随白色空间的需求

我知道Sublime Text 2可以在保存时删除文件尾部的空白。

在一个团队中工作并对文件进行更改时,这往往会产生巨大的差异,这使得同行代码审查更加繁琐。 出于这个原因,我宁愿只做空白区域清理,当我正在对文件进行大的修改时,留下空白,因为这是对小的修改。

我想知道除了"Activate trimming on save > Save file > Deactivate trimming"之外,是否有任何命令在文件上按需执行"Activate trimming on save > Save file > Deactivate trimming"

在文档和计算器上search没有显示任何相关的,所有的链接似乎谈论保存自动修剪。

注意:使用这个插件使Sublime Text显着变慢

我为此使用了TrailingSpaces插件。

突出显示尾随空格并将其删除。

ST2提供了一种在文件保存时自动删除尾随空格的方法。 根据您的设置,只需突出显示和/或手动删除它们可能会更方便。 这个插件提供了这一点!

用法:点击“编辑/拖尾空格/删除”。

要添encryption钥绑定,请打开“首选项/密钥绑定 – 用户”并添加:

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

我使用这些步骤在Sublime Text中快速提供按需解决scheme:

  1. 查找>replace…
  2. find什么: [ \t]+\n
  3. replace为: \n
  4. 全部replace

你也可以通过一个大的文件来做到这一点

  1. 查找>在文件中查找…
  2. find: [ \t]+\n
  3. 哪里:
  4. replace: \n
  5. 更换

这是一个超级简单的方法,不使用插件或设置,并在大多数情况下工作。

  1. 多选并移动光标到每一行的末尾
  2. 按住CTRL-Shift,按左,右
  3. 现在应该select行尾的空格和制表符。 按删除或退格键

    – 特殊字符如(和+)也可以在这一行的末尾select,而不仅仅是空格。

如何多select所有行:

一种方法是使用鼠标中键垂直select,然后点击结束键,如果它是一个小select。

使用热键:

  1. CTRL-A(全选)
  2. CTRL-SHIFT-L(将光标放在所有选中的行上)
  3. 结束(转到行尾)

您还可以使用find函数来查找每行中的内容,如空格字符:

  1. \ s(使用正则expression式)
  2. 单击查找全部
  3. 按“结束”键在每行的末尾获取多个游标

示例文本:

 text and number 44 more text and a space text and number 44 more text and 2 tabs text and number 44 more text and no space or tab text and number 44 more text after a line feed 

我在这里find了一个解决scheme: http : //www.sublimetext.com/forum/viewtopic.php? f=4&t=4958

你可以修改这个包

 trim_trailing_white_space.py 

位于默认软件包目录下,这样:

 import sublime, sublime_plugin def trim_trailing_white_space(view): trailing_white_space = view.find_all("[\t ]+$") trailing_white_space.reverse() edit = view.begin_edit() for r in trailing_white_space: view.erase(edit, r) view.end_edit(edit) class TrimTrailingWhiteSpaceCommand(sublime_plugin.TextCommand): def run(self, edit): trim_trailing_white_space(self.view) class TrimTrailingWhiteSpace(sublime_plugin.EventListener): def on_pre_save(self, view): if view.settings().get("trim_trailing_white_space_on_save") == True: trim_trailing_white_space(view) class EnsureNewlineAtEof(sublime_plugin.EventListener): def on_pre_save(self, view): if view.settings().get("ensure_newline_at_eof_on_save") == True: if view.size() > 0 and view.substr(view.size() - 1) != '\n': edit = view.begin_edit() view.insert(edit, view.size(), "\n") view.end_edit(edit) 

现在您可以将该命令添加到您的键盘映射configuration中:

 { "keys": ["your_shortcut"], "command": "trim_trailing_white_space" } 

您可以简单地使用正则expression式来删除尾随的空格:

  1. 查找>replace…
  2. find: [^\S\r\n]+$
  3. replace为:保留为空。
  4. 点击“全部replace”

[^\S\r\n]+$[^\S\r\n]+$则expression式“至less有一个空格字符(所以空格和制表符,但不是换行符,使用双重否定),后面是行尾”