zsh의 색상 이해

zsh의 색상 이해

존재하다이 스레드, Yoda는 다음 색상을 사용하여 솔루션을 제안합니다.zsh

#load colors
autoload colors && colors
for COLOR in RED GREEN YELLOW BLUE MAGENTA CYAN BLACK WHITE; do
    eval $COLOR='%{$fg_no_bold[${(L)COLOR}]%}'  #wrap colours between %{ %} to avoid weird gaps in autocomplete
    eval BOLD_$COLOR='%{$fg_bold[${(L)COLOR}]%}'
done
eval RESET='$reset_color'

내가 틀렸다면 정정하십시오. 그러나 올바르게 이해했다면 autoload colors && colors색상을 이름으로 호출할 수 있으며 나머지 스크립트는 색상을 ${ $}.

이로 인해 다음 질문에 대해 생각하게 되었습니다.

  1. 을 호출하여 어떤 색상이 로드되었는지 알 수 있는 방법이 있습니까 autoload colors && colors?
  2. 내 터미널이 어떤 색상을 지원하는지 어떻게 알 수 있나요?

답변1

colors기능은 색상 이름과 유사한 속성(굵게, 밑줄 등)을 연관 배열에 기록합니다 color. 이 배열은 이름을 00normal, 42bg-green, ... 등의 숫자인 터미널 속성 문자열과 연결합니다.

echo ${(o)color}

배열이 어떻게 구성되는지 이해하려면 함수의 소스 코드인 which colors또는 를 살펴보세요 less $^fpath/colors(N).

이 함수는 8가지 표준 색상의 colors이름과 이스케이프 문자열(연관 배열 fg및 ) 만 정의합니다. bg귀하의 터미널에는 더 많은 정보가 있을 수 있습니다. 바라보다이 답변사용 가능한 색상을 탐색하는 방법을 알아보세요.

관련 정보