【问题标题】:Sublime Text 2: How to delete blank/empty linesSublime Text 2:如何删除空白/空行
【发布时间】:2012-08-14 02:10:36
【问题描述】:

假设我有一个包含以下九行的文本文件:

foo

bar

baz

qux

quux

如何使用 Sublime Text 2 删除所有四行空白/空行,只留下五行?

【问题讨论】:

    标签: sublimetext2


    【解决方案1】:

    选择文字

    按:

    • Ctrl + H 在 PC 上,或
    • Command + Alt + F Mac 或
    • 点击查找->替换。

    确保您已按以下方式选择“正则表达式”:

    • Alt + R PC 或
    • Command + Alt + R Mac 或
    • 在“查找”框中单击 .*

    查找内容:^\n^(\r|\n\r?)

    替换为:(无,留空)。

    【讨论】:

    • 行得通,谢谢!有没有办法将该查找/替换绑定到键盘快捷键或以某种方式保存以便快速访问?我用谷歌搜索并找不到任何东西
    • 小建议使用^(\r|\n\r?) 覆盖所有可能的换行符。
    • 对我来说 (Sublime Text 2) 快捷方式是 (Alt + Cmd + F) 然后如 Hugp Corra 所述
    • 查找所有空行(包括带有空格的行)的更好方法是:^[\s]*?[\n\r]+
    • @Crates 你不需要?,因为* 也匹配零次出现,\s* 将匹配额外的 '\r',例如在 linux 中编辑 windows 文本环境,所以^\s*$ 可以解决问题。
    【解决方案2】:

    当行中没有空格时,Hugo 的答案中的正则表达式是正确的。如果有空格正则表达式可以是^\s+$

    【讨论】:

    • 假设存在空格。此外,它不适用于实际用任何内容替换行。请改用^[\s]*?[\n\r]+。我已经测试过了,它可以工作。
    【解决方案3】:

    还有一些 ST2/ST3 插件可用于此类任务。我喜欢这两个:

    第一个有两种删除空行/不必要行的方法。其中一个叫Delete Surplus Blank Lines,这很酷。它只删除那些后面跟着另一个空行的行

    【讨论】:

      【解决方案4】:

      查找/替换解决方案:

      正则表达式查找:\s+

      替换为: //单个空格

      【讨论】:

      • 其实这个:$\s+
      【解决方案5】:

      甚至不知道整个事情是如何运作的,但我试过了 ^\s*$ 并没有工作(仍然留下一些空行)。

      这个 ^\s* 对我有用

      {崇高的文字 3}

      【讨论】:

        【解决方案6】:

        我不得不使用:

        替换\n^\s*\n 与\n

        https://github.com/NicholasBuse/sublime_DeleteBlankLines 插件什么也没做。

        【讨论】:

        • 确保您选择了您希望它生效的区域,然后使用相应的快捷键WindowsCtrl+Alt+Backspace(删除空白行)Ctrl+Alt+Shift+Backspace(删除多余的空白行)OSXCtrl+Alt+Delete(删除空白行)Ctrl+Alt+Shift+Delete(删除空行)LinuxCtrl+Alt+Backspace(删除空行)Ctrl+Alt+ Shift+Backspace(删除多余的空行)
        【解决方案7】:

        崇高文本 2 & 3

        @crates 的评论对我有用,

        第 1 步:只需按下 ctrl+H

        第 2 步:按 RegEX 键

        第 3 步:在 Find 中写下这个:^[\s]*?[\n\r]+

        第四步:全部替换

        【讨论】:

          【解决方案8】:

          比我想象的要简单。 Ctrl + A 后跟 Ctrl + H 然后选择正则表达式 .* 。将\n\n 替换为\n。瞧!

          【讨论】:

            【解决方案9】:

            他们是一种更简单的方法,无需正则表达式。 您只需选择整个文本。 然后转到:编辑-->置换行-->唯一。

            就是这样。并且所有空行都将被删除。

            【讨论】:

            • 这将删除所有非唯一行。不只是空白。因此,假设您的 HTML 中有很多行是单个结束
              ,它将删除除第一行之外的所有行。或者在代码中,它会删除你所有的关闭}。只删除空行是不可靠的,了解它的作用。
            【解决方案10】:

            你正在寻找这个:

            ^\n|^\s+$
            

            如果前面有空格或制表符的内容,它不会删除该行>

            例如:

            这些不会被删除: ...空格... abc

            ...制表符...abc

            这将:

            ...空间... ...没有别的...

            ...标签... ...没有别的...

            【讨论】:

              【解决方案11】:

              使用多选:选择一对换行符,然后使用快速查找全部 (Alt+F3),或快速添加下一个 (Ctrl kbd>+D) 重复选择它们;然后按 Enter 将它们替换为单个换行符。

              【讨论】:

              • 在大型文档中,我发现这会导致 Sublime 崩溃。
              【解决方案12】:

              另外一种方式,可以使用ConyEdit(一个插件)的命令行cc.dbl来删除空行或者空行。

              【讨论】:

                【解决方案13】:

                还有“加入行”。如果在 OSX 上,选择所有文本,然后按 CMD-J 几次,它将按行折叠您的选择,删除换行符。

                编辑:这种方法将使您将所有内容放在一条线上,这不是您所要求的。

                【讨论】:

                • 我知道你打算用这个去哪里.. 这个建议会导致将所有内容拖到一行中,但是宏可以做到这一点:(OSX 键)ctrl-q(录制宏) ,cmd-j(加入行),down arrowctrl-q(结束宏)。然后shift-ctrl-q 根据需要重复...
                【解决方案14】:

                对于那些对 sublime 文本编辑器感兴趣的人,unofficial-documentation 可能会很有趣!

                【讨论】:

                  【解决方案15】:

                  有一个很棒的包(用于 Sublime 2 和 3),名为“Trimmer”,它可以删除空行。它还做了许多其他有用的事情。

                  请参考:https://packagecontrol.io/packages/Trimmer

                  【讨论】:

                    【解决方案16】:

                    要查找多余的空格和空行,请按 Ctrl+Shift+F 选择正则表达式查找

                    [\n\r]{2,}

                    然后替换为

                    \n

                    在 sublime 和 dreamviewr 中删除所有类型的空间

                    【讨论】:

                      【解决方案17】:

                      在我的例子中,一些空行包含 unicode 字符 零宽度空格 (U+200b)。要删除空行,包括带有此 Unicode 字符的行:

                      \s\x{200b}|^\s
                      

                      【讨论】:

                        【解决方案18】:

                        使用查找/替换,尝试从空白行上方的行尾开始粘贴选择,并在空白行后的行首结束。这适用于单个空行。您也可以对多个空行重复该过程。 CTRL-H,将您的选择放在查找框中,并通过复制/粘贴或其他方法在替换框中放置一个换行符。

                        【讨论】:

                          【解决方案19】:

                          如果^\n 不能正常工作 ===> 试试.*[^\w]\n

                          【讨论】:

                            猜你喜欢
                            • 1970-01-01
                            • 1970-01-01
                            • 2023-04-08
                            • 2016-09-05
                            • 1970-01-01
                            • 2012-08-31
                            • 2021-12-22
                            • 1970-01-01
                            • 2013-03-04
                            相关资源
                            最近更新 更多