![自定义 LS_COLOR 如何为 ZSH 工作?](https://linux22.com/image/163911/%E8%87%AA%E5%AE%9A%E4%B9%89%20LS_COLOR%20%E5%A6%82%E4%BD%95%E4%B8%BA%20ZSH%20%E5%B7%A5%E4%BD%9C%EF%BC%9F%20.png)
我想ls
使用 zsh 为命令制作自定义颜色,但我发现以前的所有答案都不适合我。
我尝试了所有这些选项:
选项1)
#LS_COLORS='no=00;37:fi=00:di=00;33:ln=04;36:pi=40;33:so=01;35:bd=40;33;01:'
#export LS_COLORS
#zstyle ':completion:*' list-colors ${(s.:.)LS_COLORS}
选项2)
#LS_COLORS='di=1:fi=96:*.m=31:*.py=32:*.txt=36:*.out=35'
#export LS_COLORS
#zstyle ':completion:*' list-colors ${(s.:.)LS_COLORS}
选项3)
#zstyle ':completiom:*' list-colors 'di=1:fi=96:*.m=31:*.py=32:*.txt=36:*.out=35'
选项 4)
#zstyle ':completion:*' list-colors 'di=34:ln=35:so=32:pi=33:ex=31:bd=46;34:cd=43;34:su=41;30:sg=46;30:tw=42;30:ow=43;30'
但该ls
命令的所有结果都会显示,就好像没有打开颜色选项一样。
似乎唯一可以改变颜色的方法是:
unset LSCOLORS
export CLICOLOR=1
export CLICOLOR_FORCE=1
我从另一个我找不到的答案中找到的。然而,我想要的是用我自己的定制颜色表示为:
#LS_COLORS='di=1:fi=96:*.m=31:*.py=32:*.txt=36:*.out=35'
附录
- 为了完整性,我还看到有人建议使用,
gls
但我在安装它时遇到了问题,所以我放弃了。抱歉,找不到该链接了。
交叉发布:
答案1
您可能缺少zsh/complist
模块。尝试zmodload zsh/complist
。
此外,如果你想要ls
彩色输出——这与 Zsh 没有直接关系——那么你应该这样做:eval $(dircolors -b …path to the custom dircolors definitions…)
。或者使用 Zplugin 并执行以下操作:
zplugin wait"0c" lucid \
atload'zstyle ":completion:*" list-colors "${(s.:.)LS_COLORS}";' for \
zpm-zsh/dircolors-material