特定のリポジトリに対して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/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指定子はリポジトリ名を使用しますが、幅がゼロの文字列として表示されることを意味します。

zsh リファレンスzフォーマットユーティリティはフォーマットが使用される理由です。

関連情報