语法高亮/着色猫

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (19)

grep,在大多数控制台中,它会显示一个彩色输出,突出显示搜索的关键字。否则,可以通过调用grep --color是否有一种通用的方法,可以根据你的个人选择对任何程序的输出进行着色。

From what I understand, the program itself is not responsible for the colors. It is the shell.

我在FreeBSD5.2.1中使用默认的shell,看起来它从没有见过颜色。

提问于
用户回答回答于

cat使用语法高亮显示根本超出了范围。cat不是为了这个。

下面是一个示例脚本,它将根据文件类型选择颜色(可以使用类似的方法,而不是调用cat直接):

#!/bin/bash
fileType="$(file "$1" | grep -o 'text')"
if [ "$fileType" == 'text' ]; then
    echo -en "\033[1m"
else
    echo -en "\033[31m"
fi
cat $1
echo -en "\033[0m"
用户回答回答于

我建议pygmentize从python包,可能需要定义以下方便的别名.

alias ccat='pygmentize -g'

如果你想要行号码:

alias ccat='pygmentize -g -O style=colorful,linenos=1'

扫码关注云+社区