假设我有一个包含以下9行的文本文件:
foo bar baz qux quux
我如何使用Sublime Text 2删除所有四个空白/空行,只留下五行?
选择文本
新闻:
确保你选择了“正则表达式”,按下:
找到什么:^\n或^(\r|\n\r?)
^\n
^(\r|\n\r?)
替换为:(什么都没有,留空)。
Hugo的答案中的regexp在行中没有空格时是正确的。如果有空格regexp可以是^\s+$
^\s+$
也有一些ST2/ST3插件用于此类任务。我很喜欢这两个:
第一个有两个方法用于删除空的/不必要的行。其中一个叫Delete Surplus Blank Lines,很酷。它只删除后跟另一个空行的那些行
Delete Surplus Blank Lines
使用多重选择:选择一对换行符,然后重复使用快速查找全部(Alt+F3),或快速添加下一个(Ctrl+D),将它们全部选中;然后按输入用单行换行符替换它们。
我不得不使用:
https://github.com/NicholasBuse/sublime_DeleteBlankLines插件什么都没做。
还有“连接线”。如果在OSX上,选择所有的文本,并按CMD-J几次,它将逐行折叠您的选择,删除换行符。
编辑:这种方法会让你把所有东西都写在一行上,这不是你想要的。
你正在寻找这个:
^\n|^\s+$
如果>前面有空白或制表符,它将不会删除该行
例如:
这些将不会被删除: 空间…美国广播公司(abc) < / p >
选项卡…美国广播公司
这将:
空间……没有其他…
选项卡……没有其他…
A寻找/替换方案:
Regex: \s+
\s+
替换为: //单个空格
对于那些对崇高的文本编辑器感到好奇的人来说,unofficial-documentation可能会很有趣!
^\s*$
这代替^\s*为我工作 {sublime text 3}
^\s*
比我想象的要简单。Ctrl + 一个接着是Ctrl + H然后选择正则表达式.*。用\n替换\n\n。瞧!
.*
\n
\n\n
如果^\n不正常工作===>尝试.*[^\w]\n
.*[^\w]\n
@crates的评论对我很有用,
步骤1:简单地按ctrl+H
第二步:按RegEX键
步骤3:在Find: ^[\s]*?[\n\r]+中写这个
^[\s]*?[\n\r]+
第四步:全部替换
有一个很棒的包(Sublime 2 &3)调用'微调'删除空行。它还做了许多其他有用的事情。
参考这个:https://packagecontrol.io/packages/Trimmer
使用查找/替换,尝试粘贴从空白行上方的行尾开始的选择,并在空白行后的行首结束的选择。这适用于单个空行。您也可以对多个空行重复此过程。CTRL-H,将您的选择放在查找框中,并通过复制/粘贴或其他方法在替换框中放置一个换行符。
另一种方法,你可以使用ConyEdit(一个插件)的命令行cc.dbl来删除空行或空行。
cc.dbl
在我的例子中,一些空行包含unicode字符零宽度空间 (U+200b)。清除空行,包括带有此unicode字符的行:
\s\x{200b}|^\s
Their是一个没有正则表达式的更简单的方法。 你只需要选择整个文本。 编辑——>排列线——>唯一。
这是所有。所有空行都将被删除。
查找额外空格和空行 Ctrl < / kbd > + 转变 + < kbd > F 选择正则表达式查找
[\n\r]{2,}
然后用
除去sublime和dreamviewr中的各种空间