백스페이스를 눌렀을 때 xterm이 문자를 삭제하도록 하려면 다음을 수행해야 한다는 것을 알고 있습니다.
stty erase ^?
그러나 또한 xterm이 Shift+백스페이스를 눌렀을 때 문자를 삭제하도록 하고 싶지만 이를 수행하는 방법에 대한 설명을 찾을 수 없습니다. .
ncurses를 사용하는 작은 C 프로그램에서 Shift+백스페이스를 누르면 다음 바이트 시퀀스로 변환되는 것으로 확인되었습니다.
27 91 51 59 50 126
ctrl-v를 누른 다음 Shift+백스페이스를 누르면 xterm에 다음과 같이 표시됩니다.
^[[3;2~
(여기서 ^[는 물론 이스케이프 문자, ASCII 바이트 27입니다).
stty erase
Ctrl-V, Shift+백스페이스를 눌러 보았지만 다음과 같은 결과를 얻었습니다.
~ > stty erase ^[[3;2~
stty: invalid integer argument `\033[3'
Try `stty --help' for more information.
2~: Command not found.
이를 수행할 수 있는 방법이 있습니까? 아니면 쉬프트+백스페이스가 1바이트가 아니고 6바이트라서 안되는건가요?
답변1
~처럼피즈델렉댓글에서는 다음과 같이 지적했습니다.
xterm -xrm '*VT100*translations: #override Shift <Key>BackSpace:string(\177)'
~/.Xresources
매 세션마다 로드되도록 xrdb에 넣으세요 .