当我有一个差异时,我如何给它上色,使它看起来更好?

我想它的命令行,所以请没有GUI解决方案。


当前回答

到目前为止还没有人提到delta。它支持带有语法高亮的语法彩色差异视图。

其他回答

彩色,字级差异输出

下面是你可以用下面的脚本和diff-highlight做的事情:

#!/bin/sh -eu

# Use diff-highlight to show word-level differences

diff -U3 --minimal "$@" |
  sed 's/^-/\x1b[1;31m-/;s/^+/\x1b[1;32m+/;s/^@/\x1b[1;34m@/;s/$/\x1b[0m/' |
  diff-highlight

(这要归功于@retracile对sed高亮的回答)

实际上,似乎还有另一个选择(我最近才注意到,当遇到上面描述的问题时):

git diff --no-index <file1> <file2>
# output to console instead of opening a pager
git --no-pager diff --no-index <file1> <file2>

如果您身边有Git(您可能已经在使用它了),那么您将能够使用它进行比较,即使文件本身不受版本控制。如果默认情况下没有启用,那么在这里启用颜色支持似乎比前面提到的一些变通方法要容易得多。

到目前为止还没有人提到delta。它支持带有语法高亮的语法彩色差异视图。

字符级色差: 安装ccdiff

ccdiff -r /usr/share/dict/words /tmp/new-dict

使用bat命令:

diff file1 file2 | bat -l diff