我尝试通过将以下内容添加到我的
.zshrc
文件中来自定义我的虚拟环境提示:
...
export VIRTUAL_ENV_DISABLE_PROMPT=1
if [[ -v VIRTUAL_ENV ]]; then
PROMPT='%F{green}(venv)%f'$PROMPT
fi
...
这仅在激活虚拟环境后
$ source ~/.zshrc
才有效。
我通过添加下面的别名使其自动工作,但我想知道是否有更好的方法使其自动工作?
alias venv='source ./venv/bin/activate; source ~/.zshrc'
alias deactivate='deactivate; source ~/.zshrc'
对于您的情况,也许一个简单的方法是将提示定义为
vprompt='%F{green}(venv)%f' # Prefix for venv prompt
PROMPT='${VIRTUAL_ENV+$vprompt}'$PROMPT
如果在评估提示期间设置了 VIRTUAL_ENV,则
+
会导致 $vprompt 打印在原始提示前面。如果未设置 VIRTUAL_ENV,则不会打印任何内容,并且您只会收到原始提示。