当我有一个差异时,我如何给它上色,使它看起来更好?
我想它的命令行,所以请没有GUI解决方案。
当我有一个差异时,我如何给它上色,使它看起来更好?
我想它的命令行,所以请没有GUI解决方案。
当前回答
我建议你试试diff-so-fancy。我在工作中使用它,现在看起来确实很棒。它提供了许多选项,非常容易配置你想要的差异。
你可以通过以下方法安装:
sudo npm install -g diff-so-fancy
或者在Mac上:
brew install diff-so-fancy
然后,你可以像这样突出你的差异:
diff -u file1 file2 | diff-so-fancy
其他回答
实际上,似乎还有另一个选择(我最近才注意到,当遇到上面描述的问题时):
git diff --no-index <file1> <file2>
# output to console instead of opening a pager
git --no-pager diff --no-index <file1> <file2>
如果您身边有Git(您可能已经在使用它了),那么您将能够使用它进行比较,即使文件本身不受版本控制。如果默认情况下没有启用,那么在这里启用颜色支持似乎比前面提到的一些变通方法要容易得多。
到目前为止还没有人提到delta。它支持带有语法高亮的语法彩色差异视图。
由于wdiff接受在插入和删除的开头和结尾指定字符串的参数,您可以使用ANSI颜色序列作为这些字符串:
wdiff -n -w $'\033[30;41m' -x $'\033[0m' -y $'\033[30;42m' -z $'\033[0m' file1 file2
例如,这是比较两个CSV文件的输出:
来自2.2的例子wdiff的实际使用示例。
使用bat命令:
diff file1 file2 | bat -l diff
我使用grc(通用着色器),它允许您对包括diff在内的许多命令的输出进行着色。
它是一个Python脚本,可以封装在任何命令中。因此,不是调用diff file1 file2,而是调用grc diff file1 file2来查看着色的输出。我有别名diff到grc diff使它更容易。