Mac OS X:找不到dircolors吗?

阿梅里奥·巴斯克斯·雷纳(Amelio Vazquez-Reina)

我刚刚切换到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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章