如何在Vim diff中只突出显示实际的差异?

9
使用 vimdiff 时,“贪心”地突出显示行中不同的部分。也就是说,当比较两行时:
左窗口: This one is his home 右窗口: That one is her home 那么整个行都会被标记成粉色,但在左侧,is one is his 和在右侧 at one is her 的部分将被突出显示为红色,表示不匹配:

This one is his home
That one is her home

如何让 vimdiff 只突出显示实际的差异?

This one is his home
That one is her home

2个回答

10

谢谢,Rick - 在下载和安装@sudo的答案后看到了你的回答。我假设你是这个插件的作者?除了更好的Readme之外,这两个仓库中的版本有什么区别吗? - ysap
是的,diffchar.vim是我的插件。请使用https://github.com/rickhowe/diffchar.vim,它包含最新版本并且是我自己的GitHub存储库。 - Rick Howe

3

在vim中没有内置实现这一功能的方法,但是你可以使用diffchar.vim插件来实现。

安装插件后,vimdiff将为您提供逐字符的差异。 您可以使用F7键在此模式和正常差异之间切换。

从插件自述文件中得知:

For example, in diff mode: ([DiffText], )

(file A) The [quick brown fox jumps over the lazy] dog. 
(file B) The [lazy fox jumps over the quick brown] dog. 

this plugin will exactly highlight the changed and added units:

(file A) The [quick] <brown >fox jumps over the [lazy] dog. 
(file B) The [lazy] fox jumps over the [quick] <brown >dog. 

感谢 @Rick Howe - sudo bangbang
选择@Rick的答案,因为他指向了更更新的来源。 - ysap
vim F7,在vim中没有默认的函数映射。 - mianos

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接