Search code examples
sublimetext3

In Sublime Text 3: is there a shortcut to remove blank lines in a selected text? (same for blanks in a line)


My question is very simple:

Is there a shortcut in Sublime Text 3 which allows to remove blank lines in a selected text? (same for blanks in a line)

For instance, how to make this text:

a

b

c

To become:

a
b
c

And this line:

I need to remove these blanks.

to become this line:

Ineedtoremovetheseblanks.


Solution

  • You don't need a plugin to do this, a simple regex search and replace will do. First, select the text where you'd like to delete the blank lines. Then, select Find → Replace… (or, hit CtrlH on Windows/Linux, F on OS X). Make sure the "Regular Expression" and "In selection" buttons are selected:

    find/replace dialog

    In Find What:, enter ^\n, and make sure the Replace With: field is empty. Then, simply hit "Replace All" and this:

    before replace

    becomes this:

    after replace

    As a bit of explanation, the regular expression ^\n searches for the beginning of a line (^) immediately followed by a newline character (\n). If you suspect that some of your "blank" lines contain whitespace, like space or tab characters, you can use ^\s*\n instead - \s* matches 0 or more whitespace characters, including newline characters.

    For your second example, use the same Find/Replace settings as above, except your regular expression should simply be \s*.