如何让xterm擦除shift+退格键?

如何让xterm擦除shift+退格键?

我知道,如果我想让 xterm 在按退格键时删除一个字符,我会这么做: stty erase ^?但我也希望 xterm 在按 shift+退格键时删除一个字符,但我找不到如何执行此操作的解释。

通过使用 ncurses 的一个小 C 程序,我确定当我按 shift+backspace 时,它​​会转换为以下字节序列:

27 91 51 59 50 126

当我按 ctrl-v 然后按 shift+backspace 时,它​​在 xterm 中显示为:

^[[3;2~(其中 ^[ 当然是转义字符,ASCII 字节 27)。

我尝试stty erase按 ctrl-v、shift+backspace 进行操作,但得到以下结果:

 ~ > stty erase ^[[3;2~
stty: invalid integer argument `\033[3'
Try `stty --help' for more information.
2~: Command not found.

有没有办法做到这一点?还是不可能,因为shift+backspace不是单个字节而是6个字节?

答案1

作为皮兹德莱克在评论中指出:

xterm -xrm '*VT100*translations: #override Shift <Key>BackSpace:string(\177)'

将其放入~/.Xresourcesxrdb 中,以便每个会话都加载它。

相关内容