Как вы заменяете несколько строк текста в пути?

В одной строке это просто. Но я не мог найти способ замены блока текста, а не структурной замены, а также замены на пути, конечно. И заменяя несколько раз, просто строка за строкой не является вариантом.

Спасибо.

Ответы

Ответ 1

"Заменить в пути" имеет возможность использовать регулярное выражение.

Чтобы заменить блок текста, вы можете описать блок как регулярное выражение, используя \n или\r\n для разрывов строк (в зависимости от вашего окончания строки \n для LF и \r для CR).

Если вы еще не знакомы с regex, вы можете использовать удобную функцию IntelliJ:

  • Вы должны иметь блок текста в открытом окне редактора IntelliJ.
  • Выберите блок текста в редакторе
  • Откройте "Заменить в пути" (Control + Shift + R)

= > Если блок текста является многострочным, IntelliJ автоматически выполнит проверку опции regex и поместит полностью развернутую (в том числе разрывы строк) версию выбранного текста в диалоговом окне поиска. Все, что вам нужно сделать, это ввести текст замены и начать поиск.

BTW: "Структурное замещение" позволяет заменить многострочные блоки текста/кода. Но обычный текст (без каких-либо переменных) не принимается в качестве допустимого шаблона поиска.

Ответ 2

Кажется, что это работает, по крайней мере, в последней версии IntelliJ (2016.1.3)

Если вы выберете несколько строк, нажмите CTRL+F, затем CTRL+R, вы сможете заменить несколько строк. Странно скрытая функция IntelliJ

На mac, который является ⌘ + F, тогда ⌘ + R

введите описание изображения здесь

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

  • Просто выберите дублирующий текст, который вы хотите заменить

  • нажмите control+G несколько раз, чтобы выделить все области.

  • Затем начните вводить текст. Ваше типирование будет повторяться во всех выбранных областях. Все ключевые движения дублируются, избегайте щелчков мыши, поскольку они будут отменены.

  • Затем нажмите esc, чтобы остановить. Он должен был заменить все события