WSL2下zsh环境中消除cd命令Tab补全时文件夹高亮问题的方法
WSL2下zsh环境中消除cd命令Tab补全时文件夹高亮问题的方法
嗨,我太懂这种困扰了——好不容易搞定了ls的文件夹高亮问题,结果用cd加Tab补全时,那种烦人的高亮又冒出来了,确实挺闹心的!
其实这个问题的根源在于:ls的高亮是由LS_COLORS控制的,但cd的Tab补全用的是zsh的自动补全系统,它的颜色配置是单独的,所以你之前改ls的配置没覆盖到这里。下面给你两种简单的解决方法:
方法一:让zsh补全直接沿用你调整好的LS_COLORS
如果你已经修改过LS_COLORS来去掉ls的文件夹高亮(比如把文件夹的颜色从带加粗的di=01;34改成普通的di=34),只需要让zsh的补全系统也用这个配置就行:
- 打开你的zsh配置文件:
nano ~/.zshrc - 在文件末尾添加这一行:
这行命令的作用是告诉zsh,补全列表的颜色规则直接使用zstyle ':completion:*' list-colors "${(s.:.)LS_COLORS}"LS_COLORS里的设置。 - 保存并退出后,让配置生效:
source ~/.zshrc
现在再试试cd加Tab补全,烦人的高亮应该就消失了。
方法二:直接指定补全列表的文件夹颜色
如果你不想依赖LS_COLORS,也可以直接给zsh补全设置文件夹颜色:
- 同样打开
~/.zshrc,添加下面这行:
这里的zstyle ':completion:*' list-colors 'di=34'34代表普通蓝色(你可以换成自己喜欢的颜色代码,比如37是白色,32是绿色),关键是不要加01(01是加粗高亮的控制码)。 - 同样执行
source ~/.zshrc生效即可。
另外,如果你之前是通过修改dircolors配置来调整ls颜色的,确保那些修改也同步到了LS_COLORS里,这样两种方法都能完美生效。
备注:内容来源于stack exchange,提问作者samokosik
相关产品推荐
相关产品推荐

