Vimdiff: Как поставить все изменения в конкретную функцию из одного файла на другое?
Вопрос
В Vimdiff я знаю, что могу использовать «do» или "dp", чтобы переместить изменения из одного файла на другое ... Но это для индивидуальных изменений.Если я должен отменить все изменения в конкретном объеме / выборе (скажите отменить все изменения в конкретной функции, но оставьте остальные нетронутыми), есть ли способ сделать это в одном ходу?
Решение
Вы можете использовать визуальный выбор и EX Command :diffget
/ :diffput
Так, например, чтобы получить изменения только на текущих всадниках блока кода ({...})
Vi}:diffget<Enter>
.
to Поместите Изменения для двух ограждений, включая линии с кронштейнами:
V2a}:diffput<Enter>
.
Обратите внимание, что, поскольку это EX-команды, движения являются линейными.Конечно, вы можете использовать любой диапазон, поэтому вы можете повторить визуальный диапазон или использовать маркеры
:'a,'bdiffput
.
и т. Д.Используйте свое воображение, это VIM :)