现在,我most
用作寻呼机。虽然它对man
页面有有用的语法突出显示,但它缺乏对其他任何内容的彩色语法突出显示(我专门寻找 diff/C++)。
同时,pygments
是一个精彩的节目。我可以用它轻松地进行彩色输出:
# ./pygmentize -f console256 ${file}
hg diff | ./pygmentize -f console256 -l diff
现在,我希望能够对输出进行分页,所以我只使用:
# ./pygmentize -f console256 ${file} | most
hg diff | ./pygmentize -f console256 -l diff | most
此时,大多数将所有着色控制字符转储到我的屏幕上,如下所示:
^[[38;5;28;01mclass^[[39;00m ^[[38;5;21;01mheap_allocator^[[39;00m
{
^[[38;5;28;01mpublic^[[39;00m^[[38;5;241m:^[[39m
当然,这是不可读的。我查看了man
页面most
,但找不到任何“嘿,将这些控制字符显示为颜色而不是打印它们”选项。 less
具有与 相同的垃圾行为most
,但more
显示颜色非常好,具有明显的限制more
。
是否有支持语法突出显示的寻呼机或参数和程序的一些疯狂组合,我可以将其串在一起以使其工作?最终,我想突出显示 Mercurial 的差异和日志,所以也许那里有一条捷径......