修改 oh-my-zsh 主題使其正確顯示 Conda 環境信息


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM