Если вы используете Vim, то у вас будет визуальный режим, который подобен выбору, но с разделением режимов, который лежит в основе vi / vim.
Что вы хотите сделать, это использовать визуальный режим, чтобы выбрать источник, затем нажать, затем снова использовать визуальный режим, чтобы выбрать область назначения, а затем вставить текст в буфер по умолчанию.
Пример:
В текстовом файле с:
1| qwer
2| asdf
3| zxcv
4| poiu
со следующей последовательностью: ggVjyGVkp
вы закончите с:
1| qwer
2| asdf
3| qewr
4| asdf
Разъяснения:
gg
: перейти к первой строке
V
: запуск визуального режима с целыми строками
j
: перейти на одну строку вниз (при выборе, начатом на предыдущих строках, это увеличивает выделение на одну строку вниз)
y
: возврат в буфер по умолчанию (две выбранные строки, и он автоматически выходит из визуального режима)
G
: перейти к последней строке
V
: запуск визуального режима (аналогично предыдущему)
k
: перейти на одну строку вверх (как и раньше, при включенном визуальном режиме это увеличивает выделение на одну строку вверх)
p
: вставка (с выделением на двух последних строках он заменит эти строки тем, что есть в буфере - в этом случае 2 первые строки)
Это немного неудобно, так как последний блок помещается в буфер, поэтому он как-то нежелателен для повторных вставок одной и той же вещи, поэтому вы захотите сохранить источник в именованном буфере с чем-то вроде "ay
( в буфер с именем "a") и вставьте что-то вроде "ap
(но тогда, если вы программируете, вы, вероятно, не захотите вставлять несколько раз, а создать функцию и вызывать ее, верно? RIGHT ?).
Если вы используете только vi, тогда вам придется использовать невидимые метки вместо визуального режима, :he mark
, чтобы узнать больше об этом, извините, но я не очень хорош с этой штукой невидимых меток, я довольно загрязнен визуальным режимом.