![특정 저장소에 대해 vcs_info를 비활성화하는 방법은 무엇입니까?](https://linux55.com/image/146136/%ED%8A%B9%EC%A0%95%20%EC%A0%80%EC%9E%A5%EC%86%8C%EC%97%90%20%EB%8C%80%ED%95%B4%20vcs_info%EB%A5%BC%20%EB%B9%84%ED%99%9C%EC%84%B1%ED%99%94%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
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 형식유틸리티는 형식이 사용되는 이유입니다.