Ответ 1
Вы можете использовать визуальный выбор и команду ex :diffget
/:diffput
Итак, например, чтобы получить изменения только для текущих внутренних блоков кода ({...})
Vi}:diffget<Enter>
Чтобы внести изменения для двух охватывающих уровней, включая строки с помощью скобок:
V2a}:diffput<Enter>
Обратите внимание, что поскольку они являются ex-командами, движения являются линейными. Конечно, вы можете использовать любой диапазон, чтобы вы могли повторять визуальный диапазон или использовать маркеры
:'a,'bdiffput
и т.д.. Используйте свое воображение, это vim:)