Sublime Text 2: удаление пустых/пустых строк

Скажем, у меня был текстовый файл со следующими девятью строками:

foo

bar

baz

qux

quux

Как я могу использовать Sublime Text 2 для удаления всех четырех пустых/пустых строк, оставив только пять строк?

Ответ 1

Выберите текст

Нажмите

  • Ctrl + H на ПК или
  • Command + Alt + F на Mac или
  • Нажмите "Найти" - "Заменить".

Убедитесь, что вы выбрали "регулярное выражение", нажав:

  • Alt + R на ПК или
  • Command + Alt + R на Mac или
  • Нажмите .* в окне поиска.

Найти что: ^\n

Заменить с помощью: (ничего, оставьте пустым).

Ответ 2

Регулярное выражение в ответе Hugo корректно, если в строке нет пробелов. В случае, если существует пространственное регулярное выражение, может быть ^\s+$

Ответ 3

Для таких задач есть также плагины ST2/ST3. Мне нравятся эти два:

Первый имеет два метода удаления пустых/ненужных строк. Один из них называется Delete Surplus Blank Lines, который крут. Он удаляет только те строки, за которыми следует еще одна пустая строка

Ответ 4

A Найти/заменить решение:

Regex Find: \s+

Заменить на: //одно пространство

Ответ 5

Даже не знаю, как все это работает, но я попытался ^\s*$ и не работал (оставив несколько пустых строк).

Это вместо ^\s* работает для меня

{возвышенный текст 3}

Ответ 7

Проще, чем я думал. Ctrl + A Далее следуют Ctrl + H Затем выберите "Регулярное выражение" .*. Замените \n\n на \n. Вуаля!

Ответ 8

Возвышенный текст 2 и 3

Комментарии @crates работают для меня,

Шаг 1: просто нажмите на Ctrl + H

Шаг 2: нажмите клавишу Regex

Шаг 3: напишите это в Find: ^[\s]*?[\n\r]+

Шаг 4: замените все

Ответ 9

Использование нескольких выборов: выберите одну пару разрывов строк, затем используйте "Быстрый поиск всех" (Alt + F3) или "Быстрое добавление следующего" (Ctrl + D), чтобы выбрать их все; затем нажмите Enter, чтобы заменить их на разрывы строк.

Ответ 10

Вы ищете:

^\n|^\s+$

он не удалит строку, если есть содержимое с пробелом или вкладками спереди >

например:.

они не будут удалены: ... space... abc

... вкладка... abc

это будет:

... space...... ничего больше...

... вкладка...... ничего больше...

Ответ 11

Другой способ, вы можете использовать командную строку cc.dbl ConyEdit (плагин) для удаления пустых или пустых строк.

Ответ 12

Там также "Join lines". Если в OSX выберите весь текст и несколько раз нажмите CMD-J, и он скроет ваш выбор по строке, удалив разрывы строк.

Изменить: этот подход оставит вас со всем на одной линии, чего вы не просили.

Ответ 13

Для тех, кто интересуется возвышенным текстовым редактором, может быть интересно unofficial-documentation!

Ответ 14

Существует замечательный пакет (для Sublime 2 и 3), который называется " Триммер ", который удаляет пустые строки. Это также делает много других полезных вещей.

См. Это: https://packagecontrol.io/packages/Trimmer

Ответ 15

Используя поиск/замену, попробуйте вставить выделение, начинающееся в конце строки над пустой строкой и заканчивающееся в начале строки после пустой. Это работает для одной пустой строки. Вы можете повторить процесс для нескольких пустых строк. CTRL-H, поместите ваш выбор в поле поиска и поместите одну новую строку в поле замены с помощью копирования/вставки или другим способом.

Ответ 16

В моем случае некоторые пустые строки содержали пространство нулевой ширины символа Юникода (U + 200b). Чтобы убрать пустые строки, в том числе с этим символом Unicode:

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

Ответ 17

Это более простой способ сделать это без регулярных выражений. Вы просто должны выбрать весь текст. затем перейдите по ссылке: Edit--> Permute Lines → Unique.

Все это. и все пустые строки будут удалены.

Ответ 18

Если ^\n работает неправильно === > try .*[^\w]\n