Как объединить кучу строк в VI - PullRequest
0 голосов
/ 14 сентября 2018

У меня есть две связки строк в VI (показано ниже)

NET1_FT_IN_0_REL2
NET2_FT_IN_0_REL2
NET3_FT_IN_0_REL2
NET4_FT_IN_0_REL2
NET5_FT_IN_0_REL2
NET6_FT_IN_0_REL2

NET1_FT_OUT_0_REL2
NET2_FT_OUT_0_REL2
NET3_FT_OUT_0_REL2
NET4_FT_OUT_0_REL2
NET5_FT_OUT_0_REL2
NET6_FT_OUT_0_REL2

Я хочу присоединиться к ним, как показано ниже.Может кто-нибудь помочь, как это сделать в VI.

NET1_FT_IN_0_REL2 NET1_FT_OUT_0_REL2
NET2_FT_IN_0_REL2 NET2_FT_OUT_0_REL2
NET3_FT_IN_0_REL2 NET3_FT_OUT_0_REL2
NET4_FT_IN_0_REL2 NET4_FT_OUT_0_REL2
NET5_FT_IN_0_REL2 NET5_FT_OUT_0_REL2
NET6_FT_IN_0_REL2 NET6_FT_OUT_0_REL2

1 Ответ

0 голосов
/ 14 сентября 2018

Команда Unix paste - ваша помощь здесь.Сохранить первый сегмент в файл f1;сохранить второй сегмент в файл f2;захватить вывод paste f1 f2 в исходном файле.(Используйте paste -d ' ' f1 f2, если вы хотите пробел между столбцами вместо вкладки.).Команда paste может объединять более 2 файлов, если это необходимо.

Последовательность клавиш (одна из многих возможностей), которая будет выполнять работу с файлом из 13 строк, показанным в вопросе:

  • :1,6w f1 возврат
  • :8,13w f2 возврат
  • :1,$!paste -d ' ' f1 f2 возврат

Совсем другое представление о том, как это сделать с использованием визуальных блоков (являются ли они частью vi или только частью vim - и имеет ли это значение в наши дни?), См.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...