cat
我正在寻找类似但带有语法突出显示的程序。作为一个例子,我想在终端中显示我的一个Python脚本的内容,而不是像我们使用的那样使用分页器cat filename.py
。
答案1
答案2
尝试通用着色器:http://kassiopeia.juls.savba.sk/~garabik/software/grc.html(或者更好的是,自述文件https://github.com/garabik/grc)。我看了一些,这是一个“刚刚起作用”的。您可以使用自己的正则表达式调整突出显示,但我发现它开箱即用非常好。您可以选择任何想要着色的内容,或者使用为 bash、zsh 或 Fish 提供的自动别名。
答案3
您可以使用source-highlight
。首先,安装source-highlight
适用于您的系统的软件包(如果有)。在基于 Debian 的系统上,您可以使用sudo apt install source-highlight
.在 Arch 上,它是sudo pacman -S source-highlight
.
您现在可以执行以下操作:
source-highlight --failsafe --out-format=esc -o STDOUT -i foo.sh
看起来像:
您可以使用许多选项来根据您的喜好调整输出,请参阅man source-highlight
。您可以编写一个小包装函数来使其作为cat
替代方案:
colorCat(){
for f; do
source-highlight --failsafe --out-format=esc -o STDOUT -i "$f"
done
}
如果将这些行添加到 shell 的初始化文件中(例如~/.bashrc
bash),则可以执行以下操作:
colorCat file1 file2 ... fileN
就我个人而言,我发现它作为替代方案更有用,less
因为cat
源代码文件往往很大,而且能够向后滚动、搜索等功能很好。为此,您可以使用:
cless(){
LESSOPEN='| source-highlight --failsafe --out-format=esc -o STDOUT -i %s 2>/dev/null ' LESS=-R less "$@"
}
如果将此文件与多个文件一起使用,则可以使用:n
.