VIM, как объединить четыре строки в две строки с двумя столбцами?

VIM, как объединить четыре строки в две строки с двумя столбцами?

Допустим, у вас есть следующий набор данных с двумя строками:

a
b

И вы хотите вставить еще один столбец,

c
d

Как вставить этот набор данных, чтобы получить следующее?

a c
b d

Или вставьте их последовательно (как показано ниже) и объедините, чтобы получить результат, показанный выше.

a
b
c
d

Этот вопрос возник из копии PDF-файла, который отображается в виде двух столбцов, но копируется как один столбец (правый столбец просто добавляется к левому столбцу).

решение1

Vim имеет режим редактирования столбцов. На этот вопрос был дан ответ на Stack Overflow:https://stackoverflow.com/questions/6971903/how-to-do-column-editing-in-vim

ИзСообщение блога, шаги обычно следующие:

  1. Ctrl + V для перехода в режим столбцов
  2. Выберите столбцы и строки, в которые вы хотите ввести текст.
  3. Shift + i для перехода в режим вставки в режиме столбцов
  4. Введите текст, который вы хотите ввести. Не расстраивайтесь из-за того, что изменяется только первая строка.
  5. Нажмите Esc, чтобы применить изменения (или Ctrl+c)

Как указанов документации, если вы работаете в Windows или у вас ctrl-v назначено на что-то другое, вы можете использоватьctrl-qвместо

решение2

Этот первый шаг не всегда необходим, но поскольку вы хотите вставить пробелы между столбцами, а в тексте нет соответствующих пробелов, установите для «virtualedit» значение «all»:

:set ve=all

Затем переместите курсор в верхний левый столбец текста, который вы хотите переместить, и введите

Ctrl-V$

где Ctrl-V означает CtrlV, затем переместите курсор вниз к последней строке текста, который нужно скопировать, и введите , yчтобы скопировать или dудалить его.

Теперь переместите курсор, в вашем случае, вправо от aи введите p.

Связанный контент