cd
ZSH에서 디렉토리에 들어가 탭을 사용하여 디렉토리 목록을 가져오려고 할 때 일부 디렉토리에는 매우 밝은 녹색 강조 표시가 나타납니다. 배경 하이라이트가 의 디렉토리 하이라이트와 동일하다는 것을 알았습니다 ls
. 문제가 해결되기를 바라며 변경했지만 LS_COLOR
자동 완성 강조 표시는 동일하게 유지됩니다. zstyle 완성 키/구성도 확인했지만 디렉토리에 대한 항목은 찾지 못했습니다. 누군가 이 문제를 해결하도록 도와줄 수 있나요?
감사해요
.zshrc
편집: 내 파일 에 대한 링크는 다음과 같습니다 .https://dpaste.org/V8oE
EDIT2: 내 터미널(Konsole)에서 테마를 변경하여 이 문제를 해결할 수 있었습니다. ZSH의 문제는 아닌 것 같습니다.
답변1
zsh의 색상 완성은 zstyle로 구성됩니다 list-colors
( info zsh list-colors
자세한 내용은 참조).
귀하 ~/.zshrc
또는 호출되는 다른 사용자 정의 파일에는 다음과 같은 내용이 있을 수 있습니다.
zstyle ':completion:*' list-colors ${(s.:.)LS_COLORS}
변수 의 내용을 기반으로 하기 위해 $LS_COLORS
(그래서 zsh 완성에서 GNU ls --color
출력과 동일한 색상을 얻습니다).
$LS_COLORS
GNU에서 사용하는 변수이며 ls
일반적으로 다음과 같은 호출로 설정됩니다.
eval "$(dircolors --sh ~/.dircolors)"
(아마도 귀하의 ~/.zshrc
, 또는 귀하의 에서 이전에 ~/.zprofile
).
~ 안에
zstyle ':completion:*' list-colors ${(s.:.)LS_COLORS}
그러나 은 $LC_COLORS
(는) 확장되어 분할됩니다.:
당시로 ~/.zshrc
해석된다.
을 변경하면 $LS_COLORS
해당 명령이 자동으로 다시 실행되지 않으며, 를 수정한 후 다시 zstyle
소싱하면 에 저장된 구성을 기반으로 재생성하는 명령 도 다시 실행되어 수정 사항을 재정의 할 수 있습니다 .~/.zshrc
$LS_COLORS
dircolors
$LS_COLORS
~/.dircolors
따라서 여기서 해야 할 일은 다음과 같습니다.
list-colors
시작 파일에서 zstyle이 정의된 위치를 찾으십시오.- 을 기반으로 하는 경우
$LS_COLORS
해당 내용이 어떻게 정의되어 있는지 알아보고$LS_COLORS
수정하세요. 그렇지 않은 경우 해당 호출을zstyle
색상 기본 설정에 맞게 조정하십시오.