Есть несколько способов сделать это.
- Выберите диапазон строк в целевом буфере, который вы хотите получить из исходного буфера, и используйте его
:diffget
. Например, вы можете визуально выбрать диапазон строкV
, а затем набрать:diffget
. - Выберите диапазон строк в исходном буфере, который вы хотите поместить в целевой буфер и использовать
:diffput
. Например, чтобы поместить текущую строку в другой буфер, введите:.diffput
. - Используйте янки и положите. Выберите диапазон строк в исходном буфере, который вы хотите скопировать в буфер назначения, перетяните их с помощью
Y
, переместите курсор в буфер назначения и поместите их туда, где вы хотите, с их помощьюp
илиP
, затем удалите строки, которые вам не нужны. - Нажмите, как указано выше, но в целевом буфере визуально выберите диапазон строк, которые вы хотите заменить (необязательно то же количество строк), и введите
"0p
. При этом используется регистр 0 (ноль), который всегда содержит текст самого последнего янка.
Чтобы «обновить» дисплей, чтобы показать правильную подсветку, выполните :diffupdate
или просто :diffu
. Иногда этого недостаточно, и вам нужно переместить курсор в другое окно, чтобы завершить обновление.
Вы можете прочитать больше о копировании различий в
:help copy-diffs