Zsh 使用READNULLCMD访问文件名(扩展名)
Zsh中用于Zsh 使用READNULLCMD访问文件名(扩展名),zsh,Zsh,Zsh中用于catting文件的一个不错的快捷方式是,例如Python文件类型: <somefile.py 事实上,当一只蝙蝠出现时,这种方法就起作用了,因为蝙蝠会寻找它。但是,由于输入仅被视为STDIN,因此无法通过扩展名检测文件类型。由于大多数文件都没有shebang行,所以为了检测文件类型,文件扩展名是一个必要的后备方法 使用函数调试READNULLCMD时没有可用的方法。我尝试过用set-x、greppingenv等来包装,但没有找到查看名称的方法。如果我能看到它的名字,那么可以
cat
ting文件的一个不错的快捷方式是,例如Python文件类型:
<somefile.py
事实上,当一只蝙蝠出现时,这种方法就起作用了,因为蝙蝠会寻找它。但是,由于输入仅被视为STDIN
,因此无法通过扩展名检测文件类型。由于大多数文件都没有shebang行,所以为了检测文件类型,文件扩展名是一个必要的后备方法
使用函数调试READNULLCMD时没有可用的方法。我尝试过用set-x
、greppingenv
等来包装,但没有找到查看名称的方法。如果我能看到它的名字,那么可以使用这样的东西:
mynullcmd() { bat -l $stdin_filename:x } # get extension and use as file type
READNULLCMD=mynullcmd
问题:Zsh是否有办法知道什么是作为STDIN传入的?它能知道包含
somefile.py
的命令吗?使用别名,比如c
是cat
的缩写:
alias c=bat
c somefile.py
其他可行的Highlighter包括和,但我发现
bat
在速度和语言支持的广度方面是最有能力的。是的,我意识到我可以只键入bat somefile.py
,但我真的很喜欢我认为唯一的选择是如果有办法找到为标准输入打开的文件名。打开READNULLCMD
时,输入已经被重定向,没有理由接收文件名作为参数。
alias c=bat
c somefile.py