Vimdiff:如何将特定函数内的所有更改从一个文件转移到另一个文件?
在 Vimdiff 中,我知道我可以使用“do”或“dp”将更改从一个文件移动到另一个文件......但这些是针对个别更改的。如果我必须撤消特定范围/选择内的所有更改(例如撤消对特定函数的所有更改,但保持其余部分不变),有没有一种方法可以一次性完成?
In Vimdiff, I know I can use "do" or "dp" to move changes from one file to the other...but these are for individual changes. If I have to undo all changes inside a specific scope/selection (say undo all changes to a particular function, but leave the rest untouched), is there a way to do it in one go ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以使用视觉选择和 ex 命令
:diffget
/:diffput
因此,例如,仅获取代码块当前内部的更改 ( { .. } )
要放置两个封闭级别的更改,包括带括号的行:
请注意,由于这些是 ex 命令,因此动作是逐行的。当然,你可以使用任何范围,这样你就可以重复视觉范围,或者使用标记
等。发挥你的想象力,这就是 vim :)
You can use a visual selection and the ex command
:diffget
/:diffput
So, for example to get the changes for just the current insides of a code block ( { ... } )
To put the changes for the two enclosing levels including the lines with the brackets:
Note that since these are ex commands the motions are linewise. Of course, you could use any range, so you can repeat the visual range, or use markers
etc. Use your imagination, this is vim :)