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
添加時間信息等。