두 번째 페이지를 스크롤할 때 konsole `\033[0m`이 작동하지 않는 문제를 해결하는 방법은 무엇입니까?

두 번째 페이지를 스크롤할 때 konsole `\033[0m`이 작동하지 않는 문제를 해결하는 방법은 무엇입니까?

konsole아래 스크린샷과 같이 다음 명령을 실행하여 스크롤한 다음 페이지의 색상을 재설정하는 데 문제가 있음을 발견했습니다 for i in {1..100}; do echo "$i"; echo -en '\033[1;42m AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA \033[0m'; echo -e 'next text'; done;.

여기에 이미지 설명을 입력하세요.

여기에 이미지 설명을 입력하세요.

보시다시피 무시는 \033[0m 현재 창 보기의 다음 페이지인 라인 11에서 시작됩니다.

gnome-terminal그런 문제는 없지만 저는 konsole사용자이고 해결책을 찾고 있습니다.

[고쳐 쓰다]

버그를 신고했습니다.https://bugs.kde.org/show_bug.cgi?id=409016

답변1

당신이 바꾸면

\033[0m

도착하다

\033[0m\033[K

이것은 당신의 목적에 도움이 될 것입니다. 차이점은 터미널이 위로 스크롤되면 현재 배경색으로 새 줄이 채워진다는 것입니다.

  • 이것\E[K현재 위치에서 줄 끝까지 현재 줄을 지웁니다(스크롤하여 수행한 색상 채우기 실행 취소).
  • 색상 동작은 기능입니다.리눅스 콘솔, 다른 터미널(rxvt, xterm, konsole)에서 구현됩니다.

또한보십시오:

답변2

bash 루프 구조를 사용하여 비슷한 문제를 본 적이 있습니다 for $file in \'ls\'. 내 ls별칭은 이었습니다 ls -h --color=auto. 앤티앨리어싱으로 ls문제가 해결되었으므로 일부 색상 코드가 $file.

관련 정보