프롬프트를 열고 다음을 시도해 보십시오.
- 다음 코드를 입력하세요:
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\]