특정 저장소에 대해 vcs_info를 비활성화하는 방법은 무엇입니까?

특정 저장소에 대해 vcs_info를 비활성화하는 방법은 무엇입니까?

vcs_info다음과 같이 활성화합니다 .

autoload -Uz vcs_info
zstyle ':vcs_info:*' enable git
zstyle ':vcs_info:*' formats '(%b)'

set_prompt() {
    vcs_info

    print -n "[%~]${vcs_info_msg_0_}%# " # Directory and VCS info (if any).
}

PROMPT=$'$(set_prompt)'

이것은 훌륭하게 작동하지만 최근에 도트 파일을 더 잘 관리하기 위해 git 저장소를 만들었 $HOME으므로 이제 작업 디렉터리 /home/martin나 하위 디렉터리에 자체 git 저장소가 없을 때마다 /home/martin저장소의 분기 이름이 인쇄됩니다.

/home/martin저장소를 무시 하고 싶지만아니요예를 들어 다른 것들은 다음을 /home/martin/code/project사용해 보았습니다 disable-patterns.

zstyle ':vcs_info:*' disable-patterns "${(b)HOME}/(|/*)"

하지만 이렇게 하면 너무 많은 하위 디렉터리에서 git repos가 비활성화되는데 $HOME이는 내가 원하는 것이 아닙니다.

나는 다음을 사용하여 비활성화하려고 시도했습니다.

zstyle ':vcs_info:git:*:martin' enable NONE

그러나 이것은 별 효과가 없는 것 같습니다. 또한 메시지를 지워 보았습니다.

zstyle ':vcs_info:git:*:martin' formats ''

이제 내 프롬프트는 [~]a:%이므로 너비 공백을 0으로 설정했습니다.

zstyle ':vcs_info:git:*:martin' formats "\u200b"

이것은 작동하는 것 같지만 약간 해킹된 것 같습니다.

vcs_info특정 저장소를 비활성화하는 방법은 무엇입니까 ?

답변1

다음 작품

zstyle ':vcs_info:*:*:martin' formats "%0.0r"

이 경우 %0.0r지정자는 저장소 이름을 사용하지만 너비가 0인 문자열로 표시한다는 의미입니다.

zsh 참조z 형식유틸리티는 형식이 사용되는 이유입니다.

관련 정보