Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Zsh 如何确定I';我通过“:vcs\u info:”在hg或git目录中?_Zsh - Fatal编程技术网

Zsh 如何确定I';我通过“:vcs\u info:”在hg或git目录中?

Zsh 如何确定I';我通过“:vcs\u info:”在hg或git目录中?,zsh,Zsh,:vcs\u信息:似乎知道您是否在git或hg目录中,如果您启用它: zstyle ':vcs_info:*' enable git hg i、 例如,您可以用这种方式修改提示 我怎样才能访问该数据,以便编写if条件?e、 g if [[ $some_magic_zstyle_vcs_info_variable ]]; then echo "I'm in a git dir!" fi mafredi提供了: i、 例如,%s将把VCS名称放入$VCS_info_msg_2_如果您只关

:vcs\u信息:
似乎知道您是否在git或hg目录中,如果您启用它:

zstyle ':vcs_info:*' enable git hg
i、 例如,您可以用这种方式修改提示

我怎样才能访问该数据,以便编写
if
条件?e、 g

if [[ $some_magic_zstyle_vcs_info_variable ]]; then
    echo "I'm in a git dir!"
fi
mafredi提供了:


i、 例如,
%s
将把VCS名称放入
$VCS_info_msg_2_

如果您只关心如何使用zsh zstyle内部构件,那么这个问题不应该被标记为
git
mercurial
(无论如何,IMO)。要在没有任何zsh内部结构的情况下完成此操作,请遍历文件系统,查找
.git
.hg
目录:您首先点击的目录可能是正确的。@torek很公平,删除了标记。我希望这是尽可能快的计算机-它将进入一个提示。实际的代码(原始版本)似乎在-它不明显看什么,但我看到
VCS\u INFO\u git\u detect
实际使用
git rev parse-在git dir中,而不是在文件系统中运行(虽然这只是将作业推到
git rev parse
),而
VCS_INFO_hg_detect
执行dir walking(带缓存)。我不知道当前代码是否相同。@torek可能与您最初所说的一样。不过,如果zsh已经在执行此操作,我不想重复两次。
zstyle ':vcs_info:*' enable git hg
zstyle ':vcs_info:*' max-exports 3
zstyle ':vcs_info:(git|hg):*' formats ' %b' 'x%R' '%s'
zstyle ':vcs_info:(git|hg):*' actionformats ' %b|%a' 'x%R' '%s'

...

if [[ "$vcs_info_msg_2_" == "git" ]]; then
    # git
fi

if [[ "$vcs_info_msg_2_" == "hg" ]]; then
    # hg
fi