답변1
구식 방식을 사용하는 것입니다POSTEDIT
POSTEDIT=$'\e[0m'
(그런데 이것은 bash가 아닙니다. 에뮬레이트하기 위해 DEBUG 트랩을 사용하지 마십시오 preexec
:zsh는 그것이 어디에서 왔는지입니다) 그러나 zsh 4.3.11부터 명령줄을 사용할 수 있습니다구문 강조 도구. 프롬프트가 프롬프트 및 설정에만 관심을 갖도록 합니다.
zle_highlight=(default:bold)
답변2
당신이 원하는 것은실행 전 Hook 기능:
preexec() { printf "\e[0m"; }
그런 다음 각 명령이 실행되기 전에 preexec
글꼴을 정상으로 재설정하기 위해 실행됩니다.
따라서 질문에 표시된 것과 동일한 프롬프트를 얻으려면 다음 줄을 다음 줄에 추가하세요 ~/.zshrc
.
autoload -U colors && colors
PS1="%{$fg_bold[yellow]%}%n@%m %{$fg[blue]%}%~ \$ %{$reset_color%}%{$fg_bold[white]%}"
preexec() { printf "\e[0m"; }