zsh에서 명령을 굵게 표시하려면 어떻게해야합니까?


18

입력 한 모든 명령이 굵게 표시되고 명령 출력이 일반 가중치로 표시되도록 bash 쉘을 설정했습니다.

여기에 이미지 설명을 입력하십시오

변수 \e[01m끝에 PS1굵게 기능 을 추가 하고 변수를 끄는 방법으로 추가 했습니다 trap DEBUG.

trap 'printf "\e[0m" "$_"' DEBUG

그렇게하면 \e[0m각 명령이 실행되기 전에가 인쇄되고 출력에서 ​​정상적인 글꼴 무게를 얻습니다.

에서 동일한 효과를 얻으려면 어떻게해야 zsh합니까?

답변:



7

원하는 것은 preexec 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"; }

DEBUG 트랩 대신 사용하는 것이 옳지 만 명령 행을 굵게 표시하는 올바른 방법은 없습니다.
Gilles 'SO- 악의
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.