Terminal Delete无法擦除我的终端上光标下的字符

Terminal Delete无法擦除我的终端上光标下的字符,terminal,tty,erase,Terminal,Tty,Erase,相反,我得到了一个~字符。但我已按如下方式设置删除键: speed 38400 baud; rows 47; columns 91; line = 0; intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>; swtch = ^Z; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W; lnex

相反,我得到了一个~字符。但我已按如下方式设置删除键:

speed 38400 baud; rows 47; columns 91; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>;
swtch = ^Z; 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
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
isig icanon iexten echo echoe echok -echonl -noflsh -tostop echoctl echoke
速度38400波特;第47行;第91栏;直线=0;
intr=^C;退出=^\;擦除=^?;杀死你;eof=^D;eol=;eol2=;
swtch=^Z;开始=^Q;停止=^S;susp=^Z;rprnt=^R;werase=^W;lnext=^V;
冲洗=^O;最小值=1;时间=0;
-parenb-parodd cs8-hupcl-cstopb cread-clocal-crtscts
-ignbrk brkint-ignpar-parmrk-inpck-istrip-inlcr-igncr icrnl ixon-ixoff-iuclc ixany
伊玛克斯贝尔
opost-olcuc-ocrnl onlcr-onocr-onlret-ofill-ofdel nl0 cr0 tab0 bs0 vt0 ff0
isig icanon iexten echo echok-echonl-noflsh-tostop echoctl echoke

你知道吗?

你的键盘上有多个键,它们可能被称为“删除”。一些(按照惯例)发送单字节(这是stty处理的),而另一些可能发送多字节(转义)序列。通常,您使用终端数据库处理后者,例如,使用ncurses(以及终端数据库的termcap和termfo接口)

xterm常见问题解答中介绍了这方面的一些内容: