维姆迪夫:如何将特定函数中的所有更改从一个文件放到另一个文件?
题
在Vimdiff中,我知道我可以使用"do"或"dp"将更改从一个文件移动到另一个文件。..但这些都是针对个人的变化。如果我必须撤消特定范围/选择内的所有更改(比如撤消对特定功能的所有更改,但保留其余部分不变),有没有办法一次性完成?
解决方案
您可以使用可视化选择和ex命令 :diffget
/:diffput
因此,例如,只获取代码块({)当前内部的更改。..} )
Vi}:diffget<Enter>
到 把 两个封闭级别的更改,包括带括号的行:
V2a}:diffput<Enter>
请注意,由于这些是ex命令,因此运动是线性的。当然,你可以使用任何范围,所以你可以重复视觉范围,或使用标记
:'a,'bdiffput
等。发挥你的想象力,这是vim:)
不隶属于 StackOverflow