ZSH 경로 자동 완성 강조 표시

ZSH 경로 자동 완성 강조 표시

cdZSH에서 디렉토리에 들어가 탭을 사용하여 디렉토리 목록을 가져오려고 할 때 일부 디렉토리에는 매우 밝은 녹색 강조 표시가 나타납니다. 배경 하이라이트가 의 디렉토리 하이라이트와 동일하다는 것을 알았습니다 ls. 문제가 해결되기를 바라며 변경했지만 LS_COLOR자동 완성 강조 표시는 동일하게 유지됩니다. zstyle 완성 키/구성도 확인했지만 디렉토리에 대한 항목은 찾지 못했습니다. 누군가 이 문제를 해결하도록 도와줄 수 있나요?

1]

감사해요

.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_COLORSGNU에서 사용하는 변수이며 ls일반적으로 다음과 같은 호출로 설정됩니다.

eval "$(dircolors --sh ~/.dircolors)"

(아마도 귀하의 ~/.zshrc, 또는 귀하의 에서 이전에 ~/.zprofile).

~ 안에

zstyle ':completion:*' list-colors ${(s.:.)LS_COLORS}

그러나 은 $LC_COLORS(는) 확장되어 분할됩니다.: 당시로 ~/.zshrc해석된다.

을 변경하면 $LS_COLORS해당 명령이 자동으로 다시 실행되지 않으며, 를 수정한 후 다시 zstyle소싱하면 에 저장된 구성을 기반으로 재생성하는 명령 도 다시 실행되어 수정 사항을 재정의 할 수 있습니다 .~/.zshrc$LS_COLORSdircolors$LS_COLORS~/.dircolors

따라서 여기서 해야 할 일은 다음과 같습니다.

  1. list-colors시작 파일에서 zstyle이 정의된 위치를 찾으십시오.
  2. 을 기반으로 하는 경우 $LS_COLORS해당 내용이 어떻게 정의되어 있는지 알아보고 $LS_COLORS수정하세요. 그렇지 않은 경우 해당 호출을 zstyle색상 기본 설정에 맞게 조정하십시오.

관련 정보