我正在将两个git分支合并在一起。我正在使用vimdiff来执行此操作,因此终端中显示了三个vim窗格。
同一冲突在我的合并中出现了数百次:
每次碰到它时,我都想做同样的事情:保持HEAD的前两行(粉红色)和OTHER(最下面的线)(蓝色)。
此刻我正在输入: diffg 3 要接受blue的更改,请进入插入模式,然后将etc手动更改为var。
我觉得每次都必须有一种更快的方法来使前两行保持粉色,而第三行保持蓝色。在那儿?这样可以节省很多输入时间。
谢谢。
答案 0 :(得分:4)
如果冲突总是相同的,也许可以使用git rerere
(What is git-rerere and how does it work?)。
如果不是由于不同的冲突而发生的冲突(例如,如果冲突在文件中多次出现),则可以创建一个宏:
qq
搜索冲突:
/<<<<<<<
删除行:
dd
找到冲突的中部:
/=======
进入在线视觉模式:
V
在您要保留的最后一条蓝线之前找到该行:
/plan-path
删除所有内容:
d
找到冲突的结束:
/>>>>>>>
删除
dd
最后,停止宏:
q
创建宏后,计算发生冲突的次数:
:%s/<<<<<<<//n
多次执行宏:
42@q
如果还有其他类型的冲突,则可以根据需要调整宏。