如何在zsh的zstyle补全中配置eza配色?
解决zsh补全复用eza配色的问题
步骤1:导出eza的LS_COLORS配置
在你的.zshrc中添加以下命令,让eza生成并导出它的配色规则到LS_COLORS环境变量:
export LS_COLORS=$(eza --color=print)
步骤2:配置zsh补全使用该配色
接着添加zstyle配置,让补全列表应用LS_COLORS的规则:
zstyle ':completion:*' list-colors "${(s.:.)LS_COLORS}"
步骤3:确保zsh补全功能已启用
检查.zshrc中是否有加载compinit的代码,如果没有,添加以下内容:
autoload -Uz compinit compinit
生效配置
保存.zshrc后,执行以下命令让配置立即生效:
source ~/.zshrc
关于之前自定义配置失效的说明
zsh的list-colors支持两种格式:一种是LS_COLORS的冒号分隔格式,另一种是类似'di=36'(目录前景青色)的语法。你之前写的bg=blue属于终端颜色名称,但zsh补全列表默认不识别这类名称写法,改用ANSI颜色代码(比如bg=44对应蓝色背景)可以生效,但直接复用eza生成的LS_COLORS更简单,还能和eza的显示风格保持一致。
内容的提问来源于stack exchange,提问作者Anshul Goyal
相关产品推荐
相关产品推荐

