ctrl-; 在 Gnome 终端和 Emacs 中起什么作用?

ctrl-; 在 Gnome 终端和 Emacs 中起什么作用?

当我在 Gnome 终端中输入时ctrl-;,它会打印一个带下划线的字母 e。如果我输入一堆字母,它们也会带下划线。当我按下回车键时,下划线消失了,第一个 e 也消失了。这是怎么回事?

(图形)Emacs 几乎做同样的事情。当我输入 时ctrl-;,Emacs 会显示一个带有字母 e 的图形覆盖(看起来不像 Emacs)。输入字母会添加到此覆盖中,当我按下回车键时,字母(e 除外)会放入 Emacs 缓冲区。

在我另一台运行 Ubuntu 的笔记本电脑上没有发生这种情况。这台运行的是 Fedora 36。

如果我尝试使用 xterm 执行上述操作,我会得到与在 Emacs 中一样的覆盖。如果我将焦点移到另一个窗口而不按 Enter 键,则下划线的内容会消失。

答案1

带下划线的输入覆盖(“预编辑”字段)是各种输入法在将字符发送到应用程序之前使用的机制。例如,在输入日语时,您可以借助日语 IME 一次输入整个单词。在 GNOME 中,“Compose”键和 Ctrl+Shift+U“Unicode”输入使用相同的机制。

您找到的特定快捷键显然是“表情符号输入”热键。我不确定它是 GTK3 内置的,还是由 IBus IME 框架提供的(它们试图保持一致,但情况一直在变化,我记不清了)。它应该在显示“自动完成”弹出窗口时接受表情符号名称,以及像 Ctrl+Shift+U 一样接受 Unicode 十六进制代码点。

参见之前的类似文章(其中的快捷方式略有不同):我的 X11 如何使用 Ctrl-Period 以及如何禁用它?

相关内容