1

Я безуспешно пытаюсь присоединиться к линии с помощью VIM

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

HI
Hello 
A, b, c, d,
HI
Hello 
A, b, c, d,
HI
Hello 
A, b, c, d,
HI
Hello 
A, b, c, d,

Я хочу объединить все строки, которые начинаются с HI. после Привет. так что это выглядит так:

Hello HI
A, b, c, d,
Hello HI
A, b, c, d,
Hello HI
A, b, c,
Hello HI
A, b, c, d,

1 ответ1

4
:g/^Hello/m-2|j

Это команда, которую вы хотите.

  • г для глобальной команды

  • ^ Привет это регулярное выражение

  • m-2 перемещает текущую строку на 2 строки выше ее текущей позиции; означает поменять текущую строку с вышеуказанной

  • j соединяет текущую строку и строку выше, вставляя пробел между ними. Используйте J! без места.

  • | разделяет 2 бывшие команды

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .