Удалить / добавить разрывы строк после определенной строки с помощью Sublime Text


95

Использование Sublime Text 2 - Можно ли вставить разрыв строки / возврат текста после определенной строки в текстовом файле, например, с помощью инструмента НайтиЗаменить ?

(Дополнительный вопрос: можно ли удалить все разрывы строк после определенной строки)

Ответы:


222

Вот как это сделать на Mac:

Command+ F> Тип строки > Control+ Command+ G> ESC> Right Arrow> разрыв строки


и Windows / Linux (не проверено):

Control+ F> Типа строка > Alt+ F3> ESC> Right Arrow> разрыв строки


Важной частью является Control+ Command+ Gдля выбора всех совпадений.
После того, как вы выбрали искомый текст, вы можете использовать несколько предоставленных курсоров для выполнения любых манипуляций с текстом.

Совет: вы можете вручную создать несколько курсоров, используя Command+ щелчок (или Control+ щелчок ) для достижения аналогичных результатов.


1
Кажется, это выходит из строя, когда я пробую это с поиском по регулярным выражениям вроде(this|that|the other)
Аманда

1
@Amanda попробуйте Option + Enter вместо ESC (ярлык для кнопки «Найти все»).
Сара

1
Стоит упомянуть, что эта же тактика отлично подходит для удаления разрывов строк, которые заканчиваются определенным шаблоном, например двоичных BLOB-объектов в файлах Windows .reg: вместо стрелки вправо + разрыв строки попробуйте стрелку влево + удаление, пока не получите желаемое объединение. Кроме того, у вас правильные горячие клавиши Windows. У меня нет экземпляра Linux, который можно было бы использовать для тестирования, но, вероятно, все в порядке.
Tohuw

Любая подсказка о том, как это сделать с выделением, а не со всем файлом? Control + Command + G очищает выделение и находит все во всем файле.
Мауро

2
Теперь это кажется таким очевидным ... Спасибо, миллион! Кроме того, @Mauro - я нахожусь в Windows, и я могу использовать ctrl + d, чтобы выбрать следующую итерацию выделения. Возможно, такая же функциональность существует на MAC с помощью Command + d? Возможно, вам придется нажимать ее несколько раз, чтобы просмотреть весь файл
шанехобан

65

С помощью инструмента Найти - Заменить это можно двумя способами:

  1. Щелкните поле «Заменить» и нажмите Ctrl+, Enterчтобы вставить новую строку (размер поля должен измениться, но этого не произойдет, поэтому трудно увидеть вставленную новую строку).

  2. Внутри инструмента « Найти - заменить» активируйте режим регулярного выражения S&R (первый значок слева .*, сочетание клавиш Alt+ Ctrl/Cmd+ Rдля его активации / деактивации).

  3. Введите \nв поле «Заменить» то место, где вы хотите вставить новую строку.

Оба решения также работают, если вы хотите найти новые строки, просто сделайте это в поле «Найти» .


Не могу найти режим регулярного выражения S&R, но первое решение работает хорошо!
чч

@hhh: если вы откроете инструмент « Найти-заменить» , режим регулярного выражения S&R будет первым значком слева от меню инструментов (выглядит как. *)
veducm

@veducm Да, я вижу этот значок, соответствующий полю поиска, но не поле замены. Может это потому, что у меня незарегистрированная версия?
чч

1
@hhh есть только один значок, и когда он включен, он применяется к обоим полям.
veducm

8

Правка-> Линии-> Соединить линию (Ctrl + J)


У меня это работает в редакторе Atom! Выберите пункт и Ctrl + J .
Рольфед

4

Вероятно, вам следует использовать несколько курсоров. См. Неофициальную документацию или этот хороший учебник . Вот несколько кратких инструкций, которые помогут вам встать на путь:

  1. Установите курсор на интересующую строку.
  2. Введите Command+ D(Mac) или Control+ D(Windows / Linux), чтобы выбрать текущий экземпляр строки.
  3. Введите Command+ D(Mac) или Control+ D(Windows / Linux), чтобы выбрать последовательные экземпляры строки.
  4. Либо наберите Control+ Command+ G(Mac) или Control+ Command+, Gчтобы выбрать все экземпляры вашей строки.
  5. Теперь у вас есть несколько курсоров, поэтому вставляйте или удаляйте новую строку по своему усмотрению.
  6. (введите, escчтобы выйти из режима нескольких курсоров.)

Радоваться, веселиться!

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.