考虑这个最小的 .zshrc :
export CLICOLOR=1;
export LSCOLORS=exfxcxdxbxegedabagacad; # It is the default value on OSX, so this line can be omitted
autoload -Uz compinit
compinit
zstyle ':completion:*' list-colors 'exfxcxdxbxegedabagacad'
Run Code Online (Sandbox Code Playgroud)
在 OS X 上,ls如果CLICOLOR设置为 TRUE 并且使用的颜色LSCOLORS默认值为 ,则使用颜色exfxcxdxbxegedabagacad。
执行 als将以蓝色打印目录。但是在执行 时cd + TAB,ZSH 会建议以红色和粗体显示目录的补全。有什么问题,我怎样才能让 ZSH 完成和ls?
Dan*_*eck 31
您需要仔细阅读说明:zsh知道如何处理LS_COLORS,这是ls颜色配置的 GNU/Linux 变体,但您使用的是 OSX/BSD 的LSCOLORS. 它们非常不同,似乎zsh不知道如何处理后者。
LSCOLORS 红色输出示例:
bbbbbbbbbbbbbbbbbbbbbb
Run Code Online (Sandbox Code Playgroud)
LS_COLORS 红色输出示例:
di=31;41:ln=31;41:so=31;41:pi=31;41:ex=31;41:bd=31;41:cd=31;41:su=31;41:sg=31;41:tw=31;41:ow=31;41:
Run Code Online (Sandbox Code Playgroud)
使用例如这个工具(也在 Github 上)创建一个漂亮的配色方案,或者重新创建你使用的配色方案,复制它的输出到LinuxLS_COLORS,然后使用以下内容设置颜色:
# between quotation marks is the tool output for LS_COLORS
export LS_COLORS="di=31;41:ln=31;41:so=31;41:pi=31;41:ex=31;41:bd=31;41:cd=31;41:su=31;41:sg=31;41:tw=31;41:ow=31;41:"
zstyle ':completion:*:default' list-colors ${(s.:.)LS_COLORS}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
17836 次 |
| 最近记录: |