首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在git-diff的输出中给空白上色

在git-diff的输出中给空白上色
EN

Stack Overflow用户
提问于 2011-03-10 17:15:20
回答 5查看 57.9K关注 0票数 175

关于代码格式化,我有点纯粹:)。我经常删除不必要的空格(只有ws的行,行尾的ws等等)。我甚至设置了vim来显示那种颜色为红色的线条。

我的问题是,使用git-diff时,我经常看到这样的情况:

代码语言:javascript
复制
-      else{ 
+      else{

即使我有git-diff的颜色,我也看不出有什么不同(在那个特定的情况下,我在行尾去掉了1ws)。有没有办法让git-diff显示ws颜色为红色?(例如,与/\s+$/ regexp匹配的那些)。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-03-10 19:38:13

您可能需要设置color.diff.whitespace配置设置,例如:

代码语言:javascript
复制
 git config color.diff.whitespace "red reverse"

(我假设您已经将color.diffcolor.ui设置为auto,因为您说无论如何都会看到来自git diff的彩色补丁。)

如果您想微调以红色突出显示的空格错误的类型,则可以更改core.whitespace,但blank-at-eol在默认情况下是启用的,因此对于您提到的示例,您可能不需要更改它。

造成混淆的一个可能原因是,在git diff的输出中,空格错误只在引入的行中突出显示,而不是在删除的行中突出显示。(更新:正如保罗·惠特克指出的那样,你应该投票支持in his answer :),你可以通过颠倒git diff -R的差异感来看到这些。)

您可以在git config man page中找到有关这些配置选项的更多文档

如果您不想使用-R杂凑,可以使用diff man page中的WhiteSpace错误突出显示选项。

--ws-error-highlight=

用color.diff.whitespace指定的颜色突出显示由指定的行上的空格错误。是以逗号分隔的旧的、新的、上下文的列表。如果未指定此选项,则仅突出显示新行中的空格错误。例如--ws-error-highlight=new,old突出显示删除和添加的行上的空格错误。所有内容都可以作为旧的、新的、上下文的速记。

git diff --ws-error-highlight=new,old <file>

git diff --ws-error-highlight=all <file>

除了使用别名之外,我不知道有什么方法可以永久打开它并将其存储在config中:

git config alias.df 'diff --ws-error-highlight=all'

现在您可以使用:

git df <file>

来查看红色的变化。

请注意,with Git 2.11 (Q4 2016),此别名可能会替换为:

代码语言:javascript
复制
git config diff.wsErrorHighlight all

参见doc on git diffon git config

票数 193
EN

Stack Overflow用户

发布于 2012-07-17 01:26:12

使用git diff -R将删除的行转换为添加的行。然后,尾随的空格将突出显示。

(这假设您已经启用了空格高亮显示,根据Mark答案中的颜色设置。这种方法的功劳归功于Junio在http://git.661346.n2.nabble.com/Highlighting-whitespace-on-removal-with-git-diff-td5653205.html的帖子。)

例如,当将一个文件从DOS行结尾转换为Unix时,git diff -R会清楚地显示出现在行尾的^M字符(Dis)。没有-R (也没有-w等)它显示整个文件已经更改,但没有显示如何更改。

票数 155
EN

Stack Overflow用户

发布于 2013-07-26 03:27:46

使用git diff --color | less -R-R使颜色控制代码变得人性化。

然后你可以使用less的正则表达式搜索,例如

代码语言:javascript
复制
/[[:space:]]+$
票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5257553

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档