
나는 일반적으로 긴 터미널 명령을 사용하며 명령 기록을 사용하려고 할 때마다(위쪽 화살표를 눌러) 텍스트 형식이 모두 깨져서 커서가 잘못된 위치에 나타납니다. 이 시점에서는 명령 편집이 불가능해지며 커서의 실제 위치가 화면에 제대로 표시되지 않습니다.
전체 명령이 한 줄에 들어갈 수 있도록 터미널 창의 크기를 조정하면 형식이 수정되지만 때로는 이를 수행할 만큼 화면 공간이 충분하지 않습니다. 어떤 아이디어가 있나요?
답변1
쉘 프롬프트를 사용자 정의했습니까(예: 색상화 또는 이와 유사한 것)? 이런 일이 발생하는 일반적인 이유는 프롬프트에 인쇄되지 않는 문자(예: 색상 변경 순서)가 있고 프롬프트의 너비와 명령줄을 어떻게 래핑할지에 대해 쉘을 혼동하기 때문입니다.
bash를 쉘로 사용한다고 가정할 때, 올바른 해결책은 인쇄되지 않는 시퀀스를 래핑하여 \[...\]
쉘이 인쇄되지 않는다는 것을 알리는 것입니다. 예를 들어, 프롬프트를 파란색으로 하려면( \e[0;34m
파란색으로 바꾸고, \e[m
정상으로 돌아가려면) 다음을 사용합니다.
PS1='\[\e[0;34m\]your prompt text here\[\e[m\]'
답변2
로컬 컴퓨터에서 이런 일이 발생합니까? 즉, 다른 컴퓨터에 SSH를 연결하지 않았다는 의미입니까? 로컬인 경우 Terminal.app을 종료하고 .plist 파일을 삭제한 다음 Terminal.app을 다시 열어보세요.