ZSH의 작업 수를 나타내는 "X"를 올바른 프롬프트에 넣을 수 없습니다.
-
03-07-2019 - |
문제
이것 조항 코드는 나에게 효과가 없습니다. 모든 코드를 내 .zshrc에 붙여 넣었습니다.
나는 내 내에 다음과 같은 것을 가지고있다 .zshrc
RPROMPT='%{\[0;33m%}%1v%{\[0m%}'
직업이 있는지 여부를 표시해야합니다. 그러나 그것은 나를 위해 그렇게하지 않습니다.
일자리가 실행 중임을 나타 내기 위해 올바른 프롬프트에 X를 가져오고 싶습니다.
ZSH에 둘 이상의 작업이있는 경우 X를 표시하는 올바른 프롬프트를 어떻게 가질 수 있습니까?
해결책
사용중인 코드는 사용하려고하기 때문에 작동하지 않습니다. $psvar
설정하지 않은 변수. 아마 그 기사가 다른 곳에서 언급했을 것입니다.
어쨌든, 일자리 수를 표시하려면 RPROMPT
, 사용
$> RPROMPT="%j Job(s)"
일자리가 하나 이상 실행중인 경우 'X'를 표시하려면 사용하십시오.
$> RPROMPT="%1(j.X.)"
의 프롬프트 섹션 아래를보십시오 zshmisc
맨 페이지 또는 링크를 가져옵니다. http://www.manpagez.com/man/1/zshmisc/ . 프롬프트에 정보를 표시하는 데 사용할 수있는 모든 확장 시퀀스를 설명합니다.
다른 팁
ANSI 탈출 시퀀스에서 여분의 왼쪽 괄호가 빠진 것 같습니다. \[
당신이 기대하는 것을하고 있습니다.
당신이 원하는 것은 다음과 같습니다.
RPROMPT="%(1j.%{^[[33m%} X%{^[[0m%}.)"
그러나 프롬프트가 표시하는 데 더 유용 할 수 있습니다. 얼마나 작업은 백그라운드에 있습니다.
RPROMPT="%(1j.%{^[[33m%} (%j jobs)%{^[[0m%}.)"
메모: 저것들 ^[
위의 문자 그 탈출 문자 - 예를 들어 0x1B
. 명령 줄 (또는 VIM을 사용하여 편집하는 경우 VIM의 삽입 모드에서 .zshrc
) Control-V를 입력 한 다음 컨트롤-[탈출 문자를 삽입합니다.