我知道Sublime Text 2可以在保存时删除文件上的尾随空格。
在团队中工作并对文件进行更改时,这往往会产生巨大的差异,这会使同行代码审查变得更加繁琐。出于这个原因,我倾向于仅在我对文件进行大量更改时才进行空白区域清理,并留下空白区域,以便进行微小更改。
我想知道是否有任何命令可以对"Activate trimming on save > Save file > Deactivate trimming"
以外的文件执行按需的空格修剪。
在文档和stackoverflow中搜索没有显示任何相关内容,所有链接似乎都在讨论保存时的自动修剪。
答案 0 :(得分:57)
我使用这些步骤在Sublime Text:
中快速按需解决方案[ \t]+\n
\n
您也可以通过
为大量文件执行此操作[ \t]+\n
\n
答案 1 :(得分:21)
这是一种超级简单的方式,不使用任何插件或设置,适用于大多数情况。
现在应选择行尾的空格和制表符。按Delete或Backspace
注意 - 此时此行的末尾也可以选择特殊字符(和+),而不仅仅是空格。
如何多选所有行:
一种方法是使用鼠标中键垂直选择,然后点击结束键,如果它是一个小的选择。
使用热键:
您还可以使用find函数查找每行中的内容,例如空格字符:
示例文字:
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
答案 2 :(得分:21)
您只需使用正则表达式删除尾随空格:
答案 3 :(得分:13)
我在这里发现了一个问题: 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)
现在您可以将命令添加到您的键盘映射配置中:
{ "keys": ["your_shortcut"], "command": "trim_trailing_white_space" }