추가 읽기

추가 읽기

나는 다음을 열성적으로 사용하고 있습니다.생선 껍질그리고 나는 그것을 아주 좋아합니다.

하지만 한 가지 질문은 다음과 같습니다.

페이지에서https://fishshell.com/docs/2.1/index.html라는 제목의 문단이 있어요"명령줄 편집기". 유용한 단축키가 많이 나열되어 있습니다.

나에게 가장 흥미로운 것은Ctrl-L. 설명에 따르면: "Ctrl-L은 화면을 지우고 다시 그립니다." 시험해봤는데 원하는 대로 작동하네요. 그러나 이전 프롬프트에 추가되는 몇 가지 기호가 생성됩니다. 뒤로 스크롤하면 알 수 있습니다.

예:

rosika@... ~/Schreibtisch> [3;J
rosika@... ~/Schreibtisch>

그래서 이것이 [3;J제가 묻는 것입니다. 이것은 [실제로 4자리 숫자가 포함된 일종의 직사각형입니다.

왜 그런 현상이 발생하는지 말해 줄 수 있는 사람이 있나요? 무슨 내용이고 이런 식으로 되어 있나요?

많은 감사드립니다.

인사말

로시카

내 시스템:

Linux/Lubuntu 16.04.4 LTS, 64비트

물고기 v. 2.2.0-3

답변1

유닉스 터미널은 단일 스트림에 혼합된 제어 시퀀스와 텍스트를 해석하여 콘텐츠로 채워집니다. 많은 문자는 텍스트일 수도 있고 제어 코드일 수도 있으며, 그 의미는 상황에 따라 달라집니다.

<esc> [3;J는 그러한 시퀀스 중 하나입니다. 잘못된 컨텍스트에서는 인쇄되고, 올바른 컨텍스트에서는 디스플레이 재설정의 일부입니다.

자세한 내용은 , 및 매뉴얼 페이지를 termcap참조 console_codes하십시오 .tput

답변2

터미널 에뮬레이터가 환경 변수 값과 일치하지 않습니다 TERM. 가장 일반적인 오류는 XTerm이 아닌 것이 xterm또는 xterm-new또는 이라는 이름의 termcap/terminfo 레코드와 일치할 것이라고 생각하는 것입니다 xterm-256color.

terminfo 레코드 는 지울 스크롤백 버퍼가 있고 이를 지우는 방법을 프로그램에 알려주는 비교적 새로운 기능(현재 , , , , , , 및 기타 몇 가지 터미널 유형 E3에 대해 지정됨 )을 지정합니다. 그러나 터미널 에뮬레이터는 실제로 해당 제어 시퀀스를 지원하지 않으며 대신 이에 대한 응답으로 표시되는 내용을 인쇄합니다. 피쉬 쉘은 이제 이 terminfo 기능 보강을 사용하는 명령을 실행하고 있습니다.linuxputtyputty-256colorxterm-basicxterm-newxtermxterm-256colorclear

환경 변수 값에 지정된 이름은 TERM터미널 에뮬레이터의 작업을 올바르게 설명하는 termcap/terminfo 레코드의 이름과 일치해야 합니다.

추가 읽기

관련 정보