如何在zsh下配置'ls'目录的颜色

mic*_*ael 29 zsh

我正在使用“zsh”。在某些目录中,当我执行 'ls --color=tty' 时。我看到一些目录有“蓝色文本”和“绿色背景”,这使它们难以阅读。

你能告诉我如何配置吗?

Fra*_*sco 34

假设您使用的是 GNU ls,您可以使用环境变量 LS_COLORS 指定颜色(请注意,这是一个 GNUls功能,并非特定于 zsh)。

GNU Coreutils 有一个程序dircolors可以帮助您将易于编辑的配置文件转换为适当的(复杂的)LS_COLORS 变量。有关man dircolors命令和man dir_colors配置文件语法,请参见。

你可以

  1. 用于dircolors --print-database >! dircolors.default保存默认值(它包含一些解释文本),然后对其进行修改。
  2. 谷歌搜索花哨的预配置 dircolors 文件(例如这个https://github.com/seebi/dircolors-solarized(我与此无关))。

完成后,您需要dircolors将其转换为适当的 LS_COLORS。请注意,dircolors以 bash 和 csh 格式输出,因为zsh您应该使用bash-formatted 输出。

PS:使用ls --color=auto代替ls --color=tty


小智 6

以下在 zsh 5.7.1 (x86_64-apple-darwin19.0) 中对我有用。

我的 .zshrc 中的这些行没有任何额外的咒语配置 ls 的颜色:

export CLICOLOR=1
export LSCOLORS=ExGxBxDxCxEgEdxbxgxcxd
alias ll="ls -alG"
Run Code Online (Sandbox Code Playgroud)

对于可以在 LSCOLORS 中使用的配置选项,您只需运行man ls并找到 LSCOLORS 部分即可。CLICOLOR 也在那里进行了解释。