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

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*.


There is a package called Trimmer. You can install it via Package control.

After you got the package you can use its functionalities. Just highlight the text you want to change (or don't select anything if you want to change the entire file) and then choose:

1) Edit > Line > Delete Empty Lines

2) Edit > Line > Remove Blank Spaces

Alternatively, as Chris's answer already pointed out you can use the classic search & replace functionality that is already present in the editor.


AS my original answer was incorrect, I have found this package which will be suitable for your needs.

The package is called DeleteBlankLines, for Sublime Text 3, has the ability to delete blank lines for the entire document and within the selected text only, all from a key stroke just like you were after.

The package can be found here:

https://packagecontrol.io/packages/DeleteBlankLines

Tags:

Sublimetext3