
Допустим, у вас есть следующий набор данных с двумя строками:
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
ИзСообщение блога, шаги обычно следующие:
- Ctrl + V для перехода в режим столбцов
- Выберите столбцы и строки, в которые вы хотите ввести текст.
- Shift + i для перехода в режим вставки в режиме столбцов
- Введите текст, который вы хотите ввести. Не расстраивайтесь из-за того, что изменяется только первая строка.
- Нажмите Esc, чтобы применить изменения (или Ctrl+c)
Как указанов документации, если вы работаете в Windows или у вас ctrl-v назначено на что-то другое, вы можете использоватьctrl-qвместо
решение2
Этот первый шаг не всегда необходим, но поскольку вы хотите вставить пробелы между столбцами, а в тексте нет соответствующих пробелов, установите для «virtualedit» значение «all»:
:set ve=all
Затем переместите курсор в верхний левый столбец текста, который вы хотите переместить, и введите
Ctrl-V$
где Ctrl-V означает CtrlV, затем переместите курсор вниз к последней строке текста, который нужно скопировать, и введите , y
чтобы скопировать или d
удалить его.
Теперь переместите курсор, в вашем случае, вправо от a
и введите p
.