保留通过“less”或“更多”传送的文本的颜色

为了便于阅读,某些命令会生成彩色文本。

我正在使用Linux。 例如,当我使用rakhg diff ,输出为彩色以提高可读性。

但是,当我输出通过less

 hg diff | less 

颜色丢失了。

我如何保存颜色?

谢谢!

尝试less -r或(更安全) less -R 。 看手册 。

既然你可能不想一直指定:

 export LESS=-R # Put that in a startup script like .bashrc.local hg diff | less 

对于Mercurial,您也可以使用寻呼机扩展 。

我相信一些命令足够智能,如果它们检测到它们正在写入管道或文件而不是写入控制台,则不会输出颜色,因为这可能会破坏管道中下一个程序的输出分析。

你可以尝试强制程序输出与他们各自的标志(例如 – 颜色或其他)的颜色,但它最终是执行相关的,如果他们会履行你的要求与否。

例如,GNU grep 2.27在将颜色传递给它时不会输出颜色。 但是,如果您传递--color=always并将其--color=always ,则可以通过less的颜色查看颜色转义代码。 然后,使用-R标志将less解释颜色转义码。