Remove/Add Line Breaks after Specific String using Sublime Text
Solution 1
Here's how you'd do it on a Mac:
Command+F > type string > Control+Command+G > ESC > Right Arrow > line break
and Windows/Linux (untested):
Control+F > type string > Alt+F3 > ESC > Right Arrow > line break
The important part being Control+Command+G to select all matches.
Once you've selected the text you're looking for, you can use the provided multiple cursors to do whatever text manipulation you want.
Protip: you can manually instantiate multiple cursors by using Command+click (or Control+click) to achieve similar results.
Solution 2
Using the Find - Replace tool, this can be accomplished in two different ways:
Click in the Replace field and press Ctrl + Enter to insert a newline (the field should resize but it doesn't, so it is hard to see the newline inserted).
Inside the Find - Replace tool, activate the S&R regex mode (first icon on the left .*, keyboard shortcut is Alt + Ctrl/Cmd + R to activate/deactivate it).
Type
\n
in the Replace field wherever you want to insert a newline.
Both solutions also work if you want to find newlines, just do it in the Find field.
Solution 3
Edit->Lines->Join Line (Ctrl+J)
Solution 4
You should probably use multiple cursors. See the unofficial documentation, or this nice tutorial. Here's some brief instructions to set you on your way:
- Put the cursor on the string of interest.
- Type Command+D (Mac) or Control+D (Windows/Linux) to select the current instance of the string.
- Type Command+D (Mac) or Control+D (Windows/Linux) to select successive instances of the string.
- Alternately, type Control+Command+G (Mac) or Control+Command+G to select all instances of your string.
- Now you have multiple cursors, so insert or remove your newline as you please.
- (type esc to exit multiple cursor mode.)
Have fun!
Bernd
Updated on November 17, 2020Comments
-
Bernd over 3 years
Using Sublime Text 2 - Is it possible to insert a line break/text return after a specific String in a text file e.g. by using the Find ‣ Replace tool?
(Bonus question: Is it possible to remove all line breaks after a specific String)
-
Amanda almost 11 yearsTHis seems to break down when I try it with regular expression searches like
(this|that|the other)
-
Sara almost 11 years@Amanda try Option+Enter instead of ESC (shortcut for the "Find All" button).
-
Tohuw almost 10 yearsIt's worth mentioning this same tactic works great for removing line breaks that end with a particular pattern, such as binary blobs in Windows .reg files: instead of right arrow + line break, try left arrow + delete until you get the union you want. Also, your Windows hotkeys are correct. I don't have a Linux instance handy to test with, but it's probably fine.
-
hhh over 9 yearsCan't find the S&R regex mode but the first solution works well!
-
veducm over 9 years@hhh: If you open the Find-Replace tool, S&R regex mode is the first icon on the left of the tool menu (looks like .*)
-
hhh over 9 years@veducm Yes I can see that icon corresponding to the search field but not for the replace field. Maybe it is because I have an unregistered version?
-
veducm over 9 years@hhh there is only one icon and when enabled it applies to both fields.
-
Mauro about 9 yearsAny clue on how to do this on a selection instead of the whole file? Control+Command+G clears the selection and finds all in the whole file.
-
shanehoban about 9 yearsSeems so obvious now... thanks a million! Also, @Mauro - I'm on Windows, and I can used ctrl + d to select the next iteration of the selection. Perhaps the same functionality exists on MAC with Command + d ? You may have to press it numerous times to go through the whole file
-
Mauro about 9 years@shanehoban Ohh! That was it. I changed the Cmd+D shortcut a long ago to delete a complete line like I do on Eclipse.
-
LeOn - Han Li about 8 yearsThe Ctrl-CMD-G plus left/right arrow is a magic! :) I would never image it could be used this way. Thanks for sharing!
-
rolfedh about 4 yearsThis works for me in the Atom editor! Select the paragraph and Ctrl+J.
-
sethi over 3 years@veducm thanks. finally an easy solution to an easy problem. You know why we need the regular expression enabled though? for the replacing string