ZSH에서 cd
디렉터리로 이동하여 Tab을 사용하여 디렉터리 목록을 가져오려고 하면 일부 디렉터리에 매우 밝은 녹색 강조 표시가 나타납니다. 배경 강조 표시가 와 다르다는 것을 알았습니다 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
색상 기본 설정에 맞게 통화를 조정하십시오 .