某些命令会生成彩色文本以便于阅读。
我正在使用Linux。例如,当我使用rak
或hg diff
时
输出颜色为更好的可读性。
但是当我通过less
hg diff | less
颜色丢失。
如何保留颜色?
谢谢!
答案 0 :(得分:7)
我相信一些命令足够智能,如果它们检测到它们正在写入管道或文件而不是控制台,则不输出颜色,因为这可能会破坏管道中下一个程序对其输出的解析。
您可以尝试强制程序使用各自的标记输出颜色(例如--color
或其他),但如果他们会尊重您的请求,则最终会依赖于实现。
less
传递给它,GNU grep 2.27也不会将颜色输出到--color
。但是,如果您传递--color=always
并将其传递到less
,您将能够通过less
查看颜色转义码。然后,使用-R
标志将less
解释颜色转义码。
答案 1 :(得分:6)
尝试less -r
或(更安全)less -R
。 See the manual
因为您可能不想一直指定:
export LESS=-R # Put that in a startup script like .bashrc.local
hg diff | less
对于Mercurial,您还可以使用pager extension。