我刚刚切换到Macbook Air。我使用自制软件安装了zsh,但是当我使用自己(最初拥有)的某些代码时,.zshrc
出现了这样的错误.dircolors was not found
。
下面是有问题的代码:
zstyle ':completion:*' auto-description 'specify: %d'
zstyle ':completion:*' completer _expand _complete _correct _approximate
zstyle ':completion:*' format 'Completing %d'
zstyle ':completion:*' group-name ''
zstyle ':completion:*' menu select=2
eval "$(dircolors -b)"
zstyle ':completion:*:default' list-colors ${(s.:.)LS_COLORS}
zstyle ':completion:*' list-colors ''
zstyle ':completion:*' list-prompt %SAt %p: Hit TAB for more, or the character to insert%s
zstyle ':completion:*' matcher-list '' 'm:{a-z}={A-Z}' 'm:{a-zA-Z}={A-Za-z}' 'r:|[._-]=* r:|=* l:|=*'
zstyle ':completion:*' menu select=long
zstyle ':completion:*' select-prompt %SScrolling active: current selection at %p%s
zstyle ':completion:*' use-compctl false
zstyle ':completion:*' verbose true
zstyle ':completion:*:*:kill:*:processes' list-colors '=(#b) #([0-9]#)*=0=01;31'
zstyle ':completion:*:kill:*' command 'ps -u $USER -o pid,%cpu,tty,cputime,cmd'
是dircolors
不是与Mac OS X运?我应该如何安装?
如果直接在外壳上运行dircolors,则会得到:
bash: dircolors; command not found
该命令dircolors
特定于GNU coreutils,因此您可以在非嵌入式Linux和Cygwin上找到该命令,而在其他unix系统(例如OSX)上则找不到。您.zshrc
中生成的设置无法移植到OSX。
由于您使用的是默认颜色,因此可以将空字符串传递给,list-colors
以获取文件补全中的颜色。
对于使用实际ls
命令的颜色,请CLICOLOR
在OSX上设置环境变量,LSCOLORS
如果要更改颜色,也要进行设置(请参阅格式手册)。
if whence dircolors >/dev/null; then
eval "$(dircolors -b)"
zstyle ':completion:*:default' list-colors ${(s.:.)LS_COLORS}
alias ls='ls --color'
else
export CLICOLOR=1
zstyle ':completion:*:default' list-colors ''
fi
如果要设置非默认颜色(dircolors
带有文件参数),我的建议是对dircolors -b ~/.dircolors
您的输出进行硬编码,.zshrc
并将这些设置用于zsh和GNU ls。
LS_COLORS=…
zstyle ':completion:*:default' list-colors ${(s.:.)LS_COLORS}
if whence dircolors >/dev/null; then
export LS_COLORS
alias ls='ls --color'
else
export CLICOLOR=1
LSCOLORS=…
fi
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句