프롬프트 색상을 변경할 때 복사/붙여넣기가 제대로 작동하지 않습니다.

프롬프트 색상을 변경할 때 복사/붙여넣기가 제대로 작동하지 않습니다.

프롬프트를 열고 다음을 시도해 보십시오.

  • 다음 코드를 입력하세요:export PS1="\e[1;30m-30-\e[m >"
  • 마우스로 복사(코드선택 + 복사(마우스선택 활성화시 자동복사됨))
  • 프롬프트 닫기
  • 새로운 프롬프트 열기
  • 지금 붙여넣기(SHIFT INS)
  • "HOME" 키와 "END" 키를 누르면 커서가 논리적 위치(코드의 시작과 끝)로 이동하는 것을 볼 수 있습니다.
  • 이제 Enter 키를 누르세요.
  • 색상을 변경하라는 메시지가 표시됩니다.
  • 지금 붙여넣기(SHIFT INS)
  • "HOME" 키와 "END" 키를 누르면 커서가비논리적위치(오프셋 발행)

즉, 프롬프트에 색상을 적용하면 복사된 코드를 복사/붙여넣기+변경할 수 없습니다...

참고: 문제가 있는 것 같아서 여기에 질문을 드립니다.여기 있어요하지만 그것은 내가 할당하려는 것과만 관련이 있는 것 같습니다. export PS1="\e[1;30m-30-\e[m >"...아무 문제도 보이지 않습니다. 프롬프트의 색상만 변경하면 됩니다(실제로는 그렇게 합니다). 하지만 내가 보지 못하는 일을 하고 있는 것 같습니다. 그게 뭔지 아는 사람 있나요?

답변1

이스케이프 시퀀스를 쌍으로 묶어야 합니다 \[. \]그렇지 않으면 오프셋 문제가 발생합니다.

답변2

user1274247이 맞습니다. 이스케이프 시퀀스를 포함해야 합니다.

이것이 내 PS1의 모습입니다.

\[\033]0;\u@\h:\w\007\]\[\033[01;31m\]\h\[\033[01;34m\] \w \$\[\033[00m\]

관련 정보