ctrl+c를 누른 다음 위쪽 화살표를 눌러 이전 명령줄을 편집하면 그놈 터미널의 텍스트가 손상됩니다.

ctrl+c를 누른 다음 위쪽 화살표를 눌러 이전 명령줄을 편집하면 그놈 터미널의 텍스트가 손상됩니다.

프로그램을 실행할 때 ctrl-c를 사용하여 종료한 다음 위쪽 화살표를 눌러 이전 명령줄을 복원한 다음 텍스트를 편집하고 다시 실행하는 데 익숙합니다. Ubuntu 14.04에서 백스페이스를 사용하여 새 문자를 입력하면 터미널에 표시되는 내용과 실제로 실행 중인 내용이 동일하지 않습니다. 새로운 오류 명령줄을 실행한 후 ctrl-c와 위쪽 화살표를 누르면 실제로 실행된 내용이 왜곡된 텍스트로 표시됩니다. 제가 생각하는 커서 위치와 터미널의 실제 커서 위치 사이에 불일치가 있는 것 같습니다.

애플리케이션이 종료된 후 ctrl-c를 다시 누르면 깨끗한 명령줄로 돌아가서 위쪽 키를 누르고 정상적으로 편집할 수 있습니다. 나는 이것이 필수는 아니라고 생각합니다. 좋은 명령줄을 생성하기 위해 변경할 수 있는 설정이 있습니까?

그놈 터미널 3.6.2

$ stty -a
speed 38400 baud; rows 48; columns 100; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = M-^?; eol2 = M-^?; swtch = M-^?;
start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0;
-parenb -parodd cs8 hupcl -cstopb cread -clocal -crtscts
-ignbrk brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff -iuclc ixany imaxbel
iutf8
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke

답변1

무슨 일이 일어나고 있는지는 중단이 새 줄에 문자를 출력하므로 프롬프트가 줄의 시작 부분에서 시작되지 않는다는 것입니다. 결과적으로 쉘 편집 기능이 사용자가 라인에 있다고 생각하는 위치는 실제로 사용자가 있는 위치가 아닙니다.

Ctrl CEnter간단한 해결책은 위쪽 화살표를 눌러 가장 최근 명령줄을 다시 입력하기 전에 이와 같은 작업을 수행하는 것입니다. 또는 Ctrl CCtrl C최종 결과는 동일하지만 입력 속도가 더 빨라질 수 있는 방법을 계속 사용하세요.

관련 정보