使用READNULLCMD访问文件名(扩展名)

时间:2019-12-17 20:13:59

标签: zsh

Zsh中cat设置文件的一个不错的捷径是,例如Python文件类型:

<somefile.py

但是如果该文件语法突出显示,那就更好了。因此,诀窍是使用bat之类的工具,而不是默认的cat

READNULLCMD=bat

这实际上在存在shebang时有效,因为Bat会寻找它。但是,由于输入仅被视为STDIN,因此无法通过扩展名检测文件类型。而且由于大多数文件没有排行,因此文件扩展名是检测文件类型的必要后备。

this method用于使用函数调试READNULLCMD。我试过用set -x包装,grepping env等,但是没有找到一种看到名字的方法。如果我能看到名字,那么可以使用类似这样的东西:

mynullcmd() { bat -l $stdin_filename:x } # get extension and use as file type
READNULLCMD=mynullcmd

问题:Zsh是否可以通过某种方式知道正在以STDIN形式传递的内容?是否可以知道该命令包含somefile.py

1 个答案:

答案 0 :(得分:0)

结算别名,例如c相当于cat的缩写:

alias c=bat
c somefile.py

其他可行的荧光笔包括coderaypygmentize,但我发现bat是在语言支持的速度和广度上最强大的功能。