То, что я обычно делаю, это diff к копии
:%w %.alt
:vert diffsplit %.alt
И затем счастливо изменить версию 'alt' так, чтобы псевдосогласованные биты были выровнены.
Обратите внимание, что (по-видимому) git содержит корректные слияния / слияния коров, которые должны быть в состоянии обнаружить изменения перемещенных блоков подфайла .
Хотя я (пока) на самом деле не применял это на практике, у меня есть предположение, что очень хороший плагин git fugitive
для vim может использовать некоторые из этих лошадиных сил, чтобы упростить это. Примечание: полностью ожидайте, что для этого потребуется scriptinh, прежде чем его можно будет использовать , но я все же подумал, что было бы неплохо поделиться этой идеей (возможно, вы можете поделиться сценарием, если сначала дойдете до него!)