zsh에서 명령줄 프롬프트를 더 보기 좋게 만들기 위해 다음 줄을 추가했습니다 .zshrc
.
PROMPT='%F{green}%n%f %B%F{blue}%1~%f%b $ '
그런데 아나콘다 가상 환경(즉, )을 활성화하면 conda activate base
아래와 같이 왼쪽에 가상 환경의 이름이 보입니다.
(base) myusername ~ $
프롬프트의 가상 환경 부분을 수정하는 방법을 알고 싶습니다(예: 청록색으로 표시하고 싶습니다).
답변1
첫 번째 단계는 conda config --set changeps1 false
실행을 통해 이미 언급한 기본 conda 프롬프트 수정자를 비활성화하는 것입니다.
다음으로 다음을 에 추가합니다 .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 $ '
이렇게 하면 conda 환경이 프롬프트의 나머지 부분 앞에 괄호와 청록색으로 표시됩니다.
굵게 표시하려면 해당 부분을 %B 및 %b로 묶습니다.
PROMPT='%B%F{cyan}$CONDA_ENV%b%f%F{green}%n%f %B%F{blue}%1~%f%b $ '
더 많은 색상을 사용하고 싶다면 실행하여 터미널에서 지원하는지 확인하세요 echo $TERM
. 반환된 경우 xterm-256color
중괄호 안의 색상을 0에서 255 사이의 값으로 바꿀 수 있습니다. 색상을 보실 수 있습니다여기.
답변2
달리기:
conda config --set changeps1 False
또는 .changeps1: False
.condarc
답변3
것 같다 알레페의 답변Conda 환경을 전환하는 데 실패했습니다.
이 문제는 약간만 변경하면 해결될 수 있습니다.
- 아직,
conda config --set changeps1 false
- 이 스니펫을
~/.zshrc
# ~/.zshrc precmd_get_conda_env_name() { if [[ -n $CONDA_PREFIX ]]; then if [[ $(basename $CONDA_PREFIX) == "miniconda3" ]]; then CONDA_ENV="base" else CONDA_ENV="$(basename $CONDA_PREFIX)" fi else CONDA_ENV="" fi } precmd_functions+=( precmd_get_conda_env_name ) precmd_update_prompt() { PROMPT=$'\n'"%B%F{black}[%F{green}%D{%m/%d %H:%M}%F{black}] %F{red}%n%F{black}@%F{yellow}%m%F{black}:%F{cyan}%~"$'\n'"%F{magenta}($CONDA_ENV)%F{blue} ➜ %f%b" } precmd_functions+=( precmd_update_prompt )
결과는 다음과 같습니다.