如何在emacs的emerge中组合冲突的两个变体?

Han*_*son 5 emacs

在Emacs中使用emerge,我有一个这样的会话:

<<<<<<< variant A
            522ADC9C14B2FD9D00F56BAD /* close_test_button.png in Resources */,
            522ADC9D14B2FD9D00F56BAD /* close_test_button@2x.png in Resources */,
            522ADCA014B2FDB100F56BAD /* test_failed.png in Resources */,
            522ADCA114B2FDB100F56BAD /* test_failed@2x.png in Resources */,
>>>>>>> variant B
            EC1633C014B2F3E3004B52E7 /* arrow.png in Resources */,
            EC1633C114B2F3E3004B52E7 /* arrow@2x.png in Resources */,
            EC1633C214B2F3E3004B52E7 /* groups.png in Resources */,
            EC1633C314B2F3E3004B52E7 /* groups@2x.png in Resources */,
####### Ancestor
======= end
Run Code Online (Sandbox Code Playgroud)

我可以通过敲击键盘上的ab选择变体AB,但如何将两种变体一个接一个地组合在一起?

phi*_*ils 7

只需C-hm在emerge buffer中使用即可查看当前模式的帮助.与大多数模式一样,Emerge次要模式在此帮助文本中显示其键绑定.

这帮助表明您可以插入变种A或B与内容:iaib,这样你就可以使用该功能插入哪个变种当前未选择.

您还可以从默认的"快速"模式切换到"编辑"模式以直接编辑合并的文本.C-cC-cf在编辑模式下使用以返回快速模式(因为在编辑模式下,所有emerge命令都需要加上前缀C-cC-c).

Emerge手册有更多细节:
M-: (info "(emacs) Emerge") RET

特别是,它解释了xc绑定的行为,它使用预定义的模板字符串在一个步骤中组合了两个变体:
M-: (info "(emacs) Combining in Emerge") RET

但是,默认模板使用C预处理器条件语法,因此您几乎肯定想要覆盖它.您可以通过"弹出选项"菜单或使用设置模板emerge-set-combine-template.有关模板语法,请参阅:
C-hv emerge-combine-versions-template RET