首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在zsh提示符中没有显示虚拟zsh名称。

在zsh提示符中没有显示虚拟zsh名称。
EN

Stack Overflow用户
提问于 2016-08-13 02:48:27
回答 15查看 64.3K关注 0票数 63

最近,我试了一试哦,我的zsh,一切看起来都很好,直到我尝试了虚拟化和虚拟包装。当我在普通bash上激活virtualenv (例如,测试)时,我将看到虚拟化名称如下:

代码语言:javascript
运行
复制
(test)abc@abc:

但是,当我切换到zsh时,我看不到virtualenv名称。尽管如此,我还是在我的zsh插件中添加了virtualenv和虚拟包装器。我还检查了虚拟服务器的激活文件,它包含:

代码语言:javascript
运行
复制
f [ -z "${VIRTUAL_ENV_DISABLE_PROMPT-}" ] ; then        
    _OLD_VIRTUAL_PS1="$PS1"
    if [ "x" != x ] ; then
        PS1="$PS1"
    else
        PS1="(`basename \"$VIRTUAL_ENV\"`) $PS1"
    fi
        export PS1
fi

是因为比较式"x“=x返回true吗?

更新:I试图在activate文件中回显$PS1,得到如下结果:

代码语言:javascript
运行
复制
(test) %{$fg[magenta]%}%n%{$reset_color%}%{$fg[cyan]%}@%{$reset_color%}%{$fg[yellow]%}%m%{$reset_color%}%{$fg[red]%}:%{$reset_color%}%{$fg[cyan]%}%0~%{$reset_color%}%{$fg[red]%}|%{$reset_color%}%{$fg[cyan]%}⇒%{$reset_color%}

$PS1似乎是正确的,但是当我在终端中回显$PS1时,(测试)就消失了。似乎$PS1被其他东西覆盖了!

EN

回答 15

Stack Overflow用户

回答已采纳

发布于 2016-08-13 05:22:57

发现问题,是因为主题。我在上述案例中使用的主题是pygmalion,它不允许您更改$PS1。

在更改到robbyrussell主题后,我可以在终端中更改$PS1,但仍然看不到虚拟主机的名称。经过一段时间的调试后,我发现默认情况下,虚拟插件oh禁用提示符:

代码语言:javascript
运行
复制
# disables prompt mangling in virtual_env/bin/activate
export VIRTUAL_ENV_DISABLE_PROMPT=1

所以,只要在虚拟插件中注释掉一行,问题就解决了。

票数 17
EN

Stack Overflow用户

发布于 2017-10-30 13:53:44

~/.zshrc中这样做

代码语言:javascript
运行
复制
plugins=(virtualenv)

POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=(status virtualenv)

注意事项:

除了你拥有的其他插件之外,还可以添加这个插件。

我用的是POWERLEVEL9K主题。也许你的主题

票数 101
EN

Stack Overflow用户

发布于 2017-02-17 01:28:35

最好的解决方案是将以下内容添加到您的~/. best文件的末尾:

代码语言:javascript
运行
复制
export VIRTUAL_ENV_DISABLE_PROMPT=

这将覆盖virtualenv.plugin.zsh中的值-无需更改该文件。

票数 37
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38928717

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档