rgm*_*rgm 18
GNU 软件包source-highlight似乎可以解决问题(尽管没有使用 cat ——正如 John T 指出的那样,这对于 cat 是不可能的)。它可以通过 Ubuntu 上的 apt-get 获得,并且需要 Boost regex 库。检查您的包管理器以查看两者是否可用,否则您可以从网上获取它们。我认为之前链接的 GNU 页面有一个到 Boost 的链接。
安装后,我在我的路径中创建了一个名为ccat的新脚本。该脚本如下所示:
#!/bin/bash
src-hilite-lesspipe.sh $1
Run Code Online (Sandbox Code Playgroud)
没什么特别的,只是简化了它们包含在源代码高亮中的less脚本。以这种方式调用时,它的行为就像 cat 一样。
不过,包含的 less 脚本也是一个很好用的脚本。我刚刚将以下内容添加到.bashrc:
export LESSOPEN="| /path/to/src-hilite-lesspipe.sh %s"
export LESS=' -R '
Run Code Online (Sandbox Code Playgroud)
该脚本也包含在源代码突出显示的在线手册中。
如果您想完全忽略 cat,我想您可以将 cat 别名为调用 src-hilite-lesspipe.sh $1 ,但这可能并不理想。
为了使用类似的内容输出语法突出显示的代码cat,我ccat按照http://scott.sherrillmix.com/blog/programmer/syntax-highlighting-in-terminal/ 上的说明创建了一个命令。
#!/bin/bash
if [ ! -t 0 ];then
file=/dev/stdin
elif [ -f $1 ];then
file=$1
else
echo "Usage: $0 code.c"
echo "or e.g. head code.c|$0"
exit 1
fi
pygmentize -f terminal -g $file
Run Code Online (Sandbox Code Playgroud)
要使用类似的内容输出语法突出显示的代码less,我使用 vim 作为较少的替代品。
alias less='/usr/share/vim/vim72/macros/less.sh'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
16251 次 |
| 最近记录: |