给 vimdiff 一些提示

Give vimdiff some hints

我有两个要用 vimdiff 比较的 c++ 文件。其中一个在开始时有更多的函数定义,然后两者都有一个我真正感兴趣的公共函数。但是,vimdiff 似乎无法忽略公共函数之前的所有函数定义(可能是因为参数不同)。

有什么方法可以提示 vimdiff,比如说,file1.cxx 中的 xxx 行等于 file2.cxx 中的 yyy 行?

我愿意接受没有 vimdiff 的替代解决方案,但它们必须在 linux 上并且最好是命令行,因为我正在使用 ssh 并且任何图形界面都有点不舒服。

Vim 只是将比较文件的实际工作委托给外部 diff 实用程序 cp。 :help diff-diffexpr。帮助页面还显示了如何使用不同的实用程序。不幸的是,我不知道还有什么 "intelligent" 或可配置的 diff 工具可以帮助解决您的情况。

解决方法可能是(暂时)删除您不感兴趣的多余功能。使用 BlockDiff plugin,您实际上不需要修改文件。只需 select windows 中有趣的行并对其执行 :[range]BlockDiff。只有那些部分才会在单独的标签页中进行区分。 (该插件提到这需要一个 GUI,但终端中的 Vim 也支持标签页。)