Mercurial。颜色输出通过管道传输到 less

Mercurial。颜色输出通过管道传输到 less

操作系统:Mac OS 10.6.2

我希望在通过 less 传输某些命令时能够看到彩色输出。

两个例子:

我已经将 ls 别名为ls --color=auto,因此我希望在执行此操作时能够看到颜色:

ls -l | less

我还在 Mercurial 中打开了颜色扩展,因此我想查看来自以下位置的颜色输出:

hg diff | less

hg st | less

经过一番谷歌搜索,似乎有些版本的 less 支持 -r 或 -R 来实现这一点,但对我来说没用。我在手册页中找不到任何我需要的东西。(-r 或 -R 似乎是正确的选项,但同样,它们似乎不起作用)

答案1

对于 mercurial,您应该使用寻呼机扩展而不是明确地通过管道传输到 less。这将与其他 hg 命令的彩色输出选项配合得很好。

答案2

我相信如果你想让它在不打算使用时也能显示颜色,你必须使用--color=alwaysfor 。然后在命令上使用lsstdout-rless

ls --color=always -l | less -r

答案3

做:

$ hg diff --color always | less -R

我会将“less -R”别名为 less。我不确定是否有办法为 mercurial 的命令提供默认选项,这样您就不必一直记住--color always输入hg diff

答案4

如果你不想使用寻呼机扩展对于 mercurial,您可以使用以下命令:

hg diff | cdiff

相关内容