Fir*_*bey 5 command-line prompt zsh datascience-anaconda
为了使我的命令行提示符在 zsh 上看起来更漂亮,我将这一行添加到.zshrc
:
PROMPT='%F{green}%n%f %B%F{blue}%1~%f%b $ '
Run Code Online (Sandbox Code Playgroud)
但是,当我激活 anaconda 虚拟环境(即conda activate base
)时,我会在左侧看到虚拟环境的名称,如下所示:
(base) myusername ~ $
Run Code Online (Sandbox Code Playgroud)
我想知道如何修改提示的虚拟环境部分(例如,我们想将其着色为青色)
第一步是通过运行来禁用默认的 conda 提示符修饰符,conda config --set changeps1 false
正如他们已经提到的那样。
接下来,将以下内容添加到您的.zshrc
:
# Determines prompt modifier if and when a conda environment is active
precmd_conda_info() {
if [[ -n $CONDA_DEFAULT_ENV ]]; then
CONDA_ENV="($CONDA_DEFAULT_ENV) "
# When no conda environment is active, don't show anything
else
CONDA_ENV=""
fi
}
# Run the previously defined function before each prompt
precmd_functions+=( precmd_conda_info )
# Allow substitutions and expansions in the prompt
setopt prompt_subst
PROMPT='%F{cyan}$CONDA_ENV%f%F{green}%n%f %B%F{blue}%1~%f%b $ '
Run Code Online (Sandbox Code Playgroud)
这样,conda 环境就会在提示符的其余部分之前显示在括号内,并以青色显示。
如果您希望它显示为粗体,请将该部分括在 %B 和 %b 中:
PROMPT='%B%F{cyan}$CONDA_ENV%b%f%F{green}%n%f %B%F{blue}%1~%f%b $ '
Run Code Online (Sandbox Code Playgroud)
如果您想使用更多颜色,请运行 来检查您的终端是否支持echo $TERM
。如果返回,您可以将大括号中的颜色替换为 0 到 255 之间的值。您可以在此处xterm-256color
查看颜色。
跑步:
conda config --set changeps1 False
Run Code Online (Sandbox Code Playgroud)
或添加changeps1: False
到您的.condarc
.