oh-my-zsh 的预设主题都挺好看的,最近用的是 bira
看上去好的,但是 activate
了 conda 的环境之后。。
就有点奇怪了。查阅资料动手修改:
首先取消掉默认的环境显示
conda config --set changeps1 False
这时候一开始的 (base)
就会消失了。然后修改 oh-my-zsh 的主题文件 $HOME/.oh-my-zsh/themes/bira.zsh-theme
每个主题的内容都不一样,不过修改起来大致差不多。
首先添加生成 Conda 环境信息的代码,可以根据需要修改颜色、符号等。
local conda_prompt='$(conda_prompt_info)'
conda_prompt_info() {
if [ -n "$CONDA_DEFAULT_ENV" ]; then
echo -n "%{$terminfo[bold]$fg[yellow]%}($CONDA_DEFAULT_ENV) %{$reset_color%}"
else
echo -n ''
fi
}
然后找到生成PROMPT
的代码,在bira
中是
PROMPT="╭─${user_host}${current_dir}${rvm_ruby}${git_branch}${venv_prompt}
╰─%B${user_symbol}%b "
在合适的地方添加 Conda prompt 信息即可。如:
PROMPT="╭─${user_host}${conda_prompt}${current_dir}${rvm_ruby}${git_branch}${venv_prompt}
╰─%B${user_symbol}%b "
重新进入 zsh 即可看到效果。
注意$conda_prompt
一定要写成函数的形式,否则PROMPT
只会在启动 zsh 的时候获取一次 conda 环境信息,后续切换环境不会再改变。
类似地我们也可以给PROMPT
添加时间信息等。
修改 oh-my-zsh 主题使其正确显示 Conda 环境信息
原文:https://www.cnblogs.com/glowming/p/display-conda-env-name-in-zsh.html