ZSH 경로 자동 완성 강조 표시

ZSH 경로 자동 완성 강조 표시

ZSH에서 cd디렉터리로 이동하여 Tab을 사용하여 디렉터리 목록을 가져오려고 하면 일부 디렉터리에 매우 밝은 녹색 강조 표시가 나타납니다. 배경 강조 표시가 와 다르다는 것을 알았습니다 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_COLORS도 다시 실행되어 수정 사항을 덮어쓸 수 있습니다.dircolors$LS_COLORS~/.dircolors

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

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

관련 정보