Zsh에서 ANSI 색상 이름(예: 빨간색)을 사용하는 방법이 있다는 것을 알고 있지만 Zsh는 숫자상으로 256가지 색상을 지원합니다. ANSI가 아닌 색상을 이름으로 참조할 수 있는 방법이 있는지 궁금합니다. (그냥 변수에 붙여넣지 마세요)
답변1
처음 16개 색상은 오랫동안 표준 색상(대부분 표준 색조)이었습니다. 256 색상은 xterm 및 호환 터미널 정의의 최신 확장입니다. xterm 문서에는 색상 16-255에 대해 다음과 같이 나와 있습니다.
이는 256색 확장 색상 팔레트를 지정합니다. 기본 리소스 값은 6x6x6 컬러 큐브를 구성하는 색상 16~231과 그레이스케일 그라데이션을 구성하는 색상 232~255입니다.
터미널 내에서 색상을 변경할 수 있습니다.ctlseqs
문서. 예를 들어 print '\e]4;42;taupe\a'
색상 42를 회갈색으로 변경합니다(색상 이름은 /etc/X11/rgb.txt
배포에 따라 다른 위치에서 사용 가능).
16보다 큰 색상이 기본값을 가지고 있다고 가정하는 데 만족한다면 $color
에서 이름을 사용하여 배열을 확장 할 수 있습니다 rgb.txt
. lg(6)비트 색상 중에서 가장 가까운 8비트 색상을 찾으려면 몇 가지 연산을 수행해야 합니다.