%F는 무엇을 의미하며 어떻게 중지할 수 있나요?

%F는 무엇을 의미하며 어떻게 중지할 수 있나요?

rxvt-clone(제가 사용하고 있지만 일반 이전 버전에서도 발생하는 rxvt-unicode것 같습니다 )에서 문자 순서 는 특별한 의미를 갖는 것 같습니다(예를 들어 다른 클론에서도 마찬가지입니다 ). 특히 다음을 얻습니다.rxvt%F%S

% date +%F          
38;5;0m2011-04-02
% date +%F--%H.%M.%S
38;5;0m--.Hostname.2011-04-02--22.25.59

그 뒤에 있는 텍스트는 m어둡고 거의 검은색입니다. 내 색 구성표(짙은 파란색 물방울 무늬 배경에 라일락 색 텍스트) 때문에 거의 읽을 수 없습니다.

이것은 무엇이며 더 중요한 것은 어떻게 하면 이를 멈출 수 있습니까?

이것이 특히 짜증나는 이유를 설명하기 위해 내 강의 파일 이름에 날짜가 포함되어 있습니다. 따라서 다음과 같이 작성하는 것이 편리합니다.

xelatex lecture.beamer.$(date +%F).tex

내 역사에 저장하고 현명한 탭을 통해 다시 불러올 수 있기 때문입니다. 그러나 후속 출력은 흰색에 가까운 색상과 반대이므로 오류가 있는지 확인하기 어렵습니다.

차이가 있다면 내 쉘은 zsh.

답변1

귀하의 의견 중 하나에서 호출 사용을 언급하셨습니다 zsh.preexecprint -P $2

에서는 다음 형식 문자가 허용됩니다 zsh.print -P

  • %F전경색을 설정한다는 의미입니다.
  • %S주요 속성 설정을 나타냅니다.

바라보다zsh 프롬프트 확장전체 목록을 확인하세요.

따라서 in 호출에서 -P이 플래그를 제거하는 것이 가장 좋습니다.printpreexec

동일한 효과를 얻는 한 가지 방법:

settitle() {
    printf "%b%s%b" "\033]0;" "$1" "\007"
}

tildedir() {
    print -Pn "%~" 
}

preexec() {
    settitle "$(tildedir):$2"
}

관련 정보