vim - 有没有办法配置 vimdiff 以忽略具有非空白差异的行上的空白?

标签 vim diff vimdiff

在 vim 中比较两个文件时(例如 vim -d file1 file2),我希望忽略所有空格。

我几乎是按照 Adam Katz 在这个问题中的建议来实现的:
Is there a way to configure vimdiff to ignore ALL whitespaces?

该建议导致 diff 命令获取 -w 选项,因此它不包括结果中仅具有空白差异的行。

如果有一行同时包含空白差异和非空白差异,则 diff 会正确返回这些差异。但是 vim 也将空格突出显示为不同之处。

例如。如果两条不同的线是:

File 1: a,b,c,d
File 2: a, b, c, e

然后突出显示的差异将是 b, c, e而不是我想要的 e .

有没有办法告诉vim在其突出显示过程中忽略空格?

我正在使用 vim 7.3 (gvim)。

最佳答案

diff对行进行操作,而不是字符或单词,所以 -b-w确定要忽略的行。如果一行未被忽略,每当涉及非空白更改时都是这种情况(除非您忽略大小写或明确忽略匹配某些正则表达式的行),diff将始终输出如下内容:

1c1
< a,b,c,d
---
> a, b, c, e

retrofit diffopt甚至 diffexpr只影响 Vim 如何调用 diff ,而不是它如何处理它收到的差异。由于没有 -b也不是 -w将改变上述差异,Vim 将因此显示相同的结果。因此,您正在寻找的是一种改变 Vim 突出显示它收到的差异的方式的方法,我认为这是不可能的。

关于vim - 有没有办法配置 vimdiff 以忽略具有非空白差异的行上的空白?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17997108/

相关文章:

vim - 显示打开文件列表的 Tmux/Vim 插件

.net - 是否有用于 .NET 的渲染 HTML 差异引擎

php - 高效获取大数据集的差异?

windows - Powershell 中的 vimdiff E97

linux - 如何忽略 diff 命令中的一些差异?

vim - 试图转到 vim 中类/函数的定义

vim - 在neovim中将自动缩进设置为空格?

c++ - Vim C++(Qt,C)开发强大的插件

unix - 查找包含字符串 unix 的两个变量的差异

windows-xp - 为什么 "Diff with Vim"命令不起作用?