alt-d alt-f 等在我的 xterm 中停止工作

alt-d alt-f 等在我的 xterm 中停止工作

我的 Debian 系统有时会发生一些奇怪的事情。通常在提示行中,我可以使用组合键,例如 alt-d 删除一个单词,alt-f 转到下一个单词,等等。

但是在我的 xterm 中经常会发生一些事情,导致 alt-d 和 alt-f 不再起作用:它们突然打印“ä”(alt-d)和“æ”(alt-f)。

请注意,这种情况发生在一开始按照我所希望的方式运行的终端中。但随后必须以某种方式发送代码或更改终端行为的东西。

这种情况发生在 xterm 中,因为我总是在那里工作。如果我通过按 ctrl+alt+f1 进入控制台,则默认情况下 alt-d 会执行我想要的操作(删除单词),alt-f 也是如此。也许我可以通过进行一些错误的操作来搞砸它:我只是不知道,因为我不在文本模式下工作。

还要注意,如果我从“损坏的” xterm 生成一个 xterm,那么新的 xterm 就会按我预期的方式工作。

发生了什么事?我打开了之前关闭的那个东西吗?

我的 .Xresources 也这么说,当我打开 xterm 时,它的行为与我预期的一样,只是后来“某些东西”让它回到了损坏的状态“我打印带有变音符号和其他无意义的字符”模式:

$ more .Xresources 
XTerm.vt100.eightBitInput: false
XTerm*eightBitInput: False

答案1

你需要

xterm*metaSendsEscape:  true

在你的 ~/.Xdefaults 中

xrdb ~/.Xdefaults

启动一个新的 xterm,希望不会再出现问题

答案2

添加这个:

% grep -i escape .Xdefaults 
     xterm*metaSendsEscape: true

(因此,告诉 xterm 你的alt密钥正在发送escape

答案3

我也有同样的问题。在我本地的 Debian xterm 上一切都运行正常。但是,如果我通过 ssh 进入 RHEL 服务器,mb/mf 就不起作用了。即使我从 RHEL 注销后,它们仍然不起作用。

我挖掘了源代码并找到了一个黑客方法,只需在你的 ~/.Xresources 中添加以下几行:

XTerm*VT100*Translations: #override \n\
     Meta <KeyPress>:insert-seven-bit()

相关内容