![zsh 文件语法高亮](https://linux22.com/image/55280/zsh%20%E6%96%87%E4%BB%B6%E8%AF%AD%E6%B3%95%E9%AB%98%E4%BA%AE.png)
我使用zsh-syntax-highlighting
包,它用与目录(路径)相同的颜色对所有文件进行着色。我认为应该可以自定义这些颜色或至少使用$LS_COLORS
默认颜色。然而,我似乎只能更改一个变量:
ZSH_HIGHLIGHT_STYLES[path]='fg=blue,bold'
我错过了什么吗?
答案1
这个问题促使我叉zsh-syntax-hightighting 并添加此功能。我已经从文件类型正如 ramonovski 在评论中建议的那样,它是一个非常过时的项目,它相对于原始的 zsh-syntax-highlighting 来说非常过时,缺乏很多功能,仅支持 $LS_COLORS 中的“256 颜色代码”等。
最后我决定编写自己的函数,结果如下所示:
请注意以下几点:
- 文件(basename)和目录(dirname)的颜色不同。这不像标准
ls
作品,但我更喜欢它,而且根据我的口味,这只是ls
. - 所有可能的文件属性都会被考虑在内,而不仅仅是文件扩展名 *.xxx。例如,
null
from/dev/
as acharacter device
在这里是黄色的,就像ls
命令一样。 - 没有“特殊”属性且没有扩展名的文件采用默认颜色(图片上的.zshrc)
- 使用波形符正确解析目录名称
如果你喜欢可以从github下载: http://github.com/jimmijj/zsh-syntax-highlighting