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

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

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

你能告诉我如何配置它吗?

答案1

假设你正在使用 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

答案2

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

我的 .zshrc 中的这些行无需任何额外的咒语即可配置 ls 的颜色:

export CLICOLOR=1
export LSCOLORS=ExGxBxDxCxEgEdxbxgxcxd
alias ll="ls -alG"

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

答案3

如果你想禁用蓝色并恢复默认的白色,只需在 .zshrc 文件中取消注释“DISABLE_LS_COLORS =”true“行

相关内容