将 zsh 颜色与 dircolors 集成

Integrate zsh colors with dircolors

我可以在终端上使用 zsh SHELL 生成 256 种颜色的列表,命令如下:

for code in {000..255}
do
    print -P -- "$code: %F{$code}Color%f"
done

目前,我在 zsh 中使用 dircolors :

NORMAL 01;37       # global default, although everything should be something.
FILE 01;37         # normal file
DIR 32       # directory
LINK 01;36      # symbolic link
FIFO 40;33      # pipe
SOCK 01;35      # socket
BLK 40;33;01    # block device driver
CHR 40;33;01    # character device driver

# This is for files with execute permission:
EXEC 00;36

# List any file extensions like '.gz' or '.tar' that you would like ls
# to colorize below. Put the extension, a space, and the color init string.
# (and any comments you want to add after a '#')
*~   05;31 # stuff we hate to find laying around (flashing red)
.mtxt 05;31 # crap
.ndx 05;31
.cmd 00;33 # executables
.exe 00;33
.com 00;33
.btm 00;33
.bat 00;33
.txt 00;37
.pdf 04;94
.docx 00;91
.doc 00;91
.xlsx 00;91
.xls 00;91
#.txt 07;40
.c   00;35 # source code
.h   00;35
.sh  00;36
.py  00;36
.cpp  00;35
.pl  00;36
.pm  00;35
.cgi 00;35
.java 00;35
.html 00;35
.tar 00;31 # archives or compressed (bright red)
.tgz 00;31
.arj 00;31
.taz 00;31
.lzh 00;31
.zip 00;31
.z   00;31
.Z   00;31
.gz  00;31
.jpg 01;35 # image formats
.jpeg 01;35
.JPG 01;35
.gif 01;35
.GIF 01;35
.bmp 01;35
.BMP 01;35
.xbm 01;35
.ppm 01;35
.xpm 01;35
.tif 01;35
.png 01;35

如果可能的话,我如何在 ~/.dircolors 中使用一些颜色来自最初在我的 post ( loop with print -P -- "$code: %F{$code}Color%f" ) 中生成的 256 个值?

或者是否有其他选择可以使用 ~/.dircolors 来获得更多颜色?

dircolors 中使用的数字是ANSI SGR parameters。阅读链接的文章以获取更多信息。它还列出了哪些数字对应于 256 色调色板中的哪些颜色。