9 Linux中是否有稳定的工具(现有工具的选项/插件:vimdiff,diff等)来按字符方式对两个文本文件进行比较? 我希望看到两个文件之间最长的公共子序列突出显示。有一个经典的多项式时间算法,但是标准工具似乎只能逐行工作。 diff file-comparison vimdiff — 瓦伦塔斯 source
2 好老cmp做一个个性化的差异。它已经成为UNIX的一部分已有40年了。 https://www.freebsd.org/cgi/man.cgi?query=cmp&apropos=0&sektion=0&manpath=Unix+Seventh+Edition&arch=default&format=html 不幸的是,它停在第一个不同的字符处,所以我不知道此答案是否对您有用。 — 多米尼克R source 谢谢。cmp -bl ...找到答案后,我就跑了一个,它报告了多个差异及其位置。我的版本是cmp (GNU diffutils) 3.6。 — Dzamo Norton
2 安装diffchar(对于使用插件自动加载器的用户,请使用Github链接)。从v4.7开始,在启用插件的情况下,Vim自动显示更多确切的区别: 您可以按F7(默认键盘映射)在常用插件和插件之间切换。重新分配: nmap <silent> <key> <Plug>ToggleDiffCharAllLines 替换<key>为适当的键码。 您可以使用更多颜色: let g:DiffColors=100 不幸的是,这无法跨界工作,据我所知。但是,公共区域不突出显示(如果它们长得太长,则折叠起来),因此您可以利用这一点。 复制自我的Vi和Vim Stack Exchange帖子。 — uru source
cmp -bl ...
找到答案后,我就跑了一个,它报告了多个差异及其位置。我的版本是cmp (GNU diffutils) 3.6
。