Vimdiff: Как поставить все изменения в конкретную функцию из одного файла на другое?

StackOverflow https://stackoverflow.com/questions/6093746

  •  09-09-2020
  •  | 
  •  

Вопрос

В Vimdiff я знаю, что могу использовать «do» или "dp", чтобы переместить изменения из одного файла на другое ... Но это для индивидуальных изменений.Если я должен отменить все изменения в конкретном объеме / выборе (скажите отменить все изменения в конкретной функции, но оставьте остальные нетронутыми), есть ли способ сделать это в одном ходу?

Это было полезно?

Решение

Вы можете использовать визуальный выбор и EX Command :diffget / :diffput

Так, например, чтобы получить изменения только на текущих всадниках блока кода ({...})

Vi}:diffget<Enter>
.

to Поместите Изменения для двух ограждений, включая линии с кронштейнами:

V2a}:diffput<Enter>
.

Обратите внимание, что, поскольку это EX-команды, движения являются линейными.Конечно, вы можете использовать любой диапазон, поэтому вы можете повторить визуальный диапазон или использовать маркеры

:'a,'bdiffput
.

и т. Д.Используйте свое воображение, это VIM :)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top