本文介绍的是键盘组合键“Control + t”(小写“t”)和 emacs。
这个问题是gui版本独有的,在使用终端时不会出现。
我在用韦兰
- Control+t :光标只是闪烁,没有任何反应。
- Ch k + Ct(Control+h 和 k,然后是 Control + t):没有显示任何内容。
- Ch k + CSt:有效。显示这个
'C-t (translated from C-S-t) runs the command transpose-chars (found in global-map), which is an interactive compiled Lisp function...'
笔记译自 CSt
这基本上意味着 Control-t 在这个过程中的某个地方被吃掉了。
一些更多信息和好奇的事情 -
Control+t 和终端 -
- 适用于 Kitty 和白蚁 - 由 wev 检测到; emacs 模式下的 Ct 'tranpose-chars' (zsh 中的 bindkey -e)有效
- 在 konsole 中不起作用 - 由 wev 检测到; emacs 模式下的 Ct 'tranpose-chars' (zsh 中的 bindkey -e)才不是工作。
韦夫输出 -
[14: wl_keyboard] key: serial: 5101; time: 10021865; key: 66; state: 1 (pressed)
sym: Control_L (65507), utf8: ''
[14: wl_keyboard] modifiers: serial: 0; group: 0
depressed: 00000004: Control
latched: 00000000
locked: 00000000
[14: wl_keyboard] key: serial: 5103; time: 10022192; key: 28; state: 1 (pressed)
sym: t (116), utf8: ''
- Emacsclient -t(终端和 tty 上的 emacs 客户端)可以工作。
C-t runs the command transpose-chars (found in global-map), which is an interactive compiled Lisp function in `simple.el'.
- Firefox 和 Chrome 能够检测按键。测试于https://keyboardchecker.com/
我需要什么?
- 我需要了解为什么会发生这种情况。
- 解决办法同上。
我需要你的帮助。
去做:
- 需要在X11中检查相同的内容然后报告。
[更新] X11中仍然存在同样的问题。同样,Control+Shift+t 有效,但 Control+t 无效
[更新] 这不再是关于 emacs 的了。
这个问题在 DE 中仍然存在。但它并未感染 TTY。
- 我从 Arch(我偶然发现的)切换到了 Debian Sid。问题解决了。然而,我的带有 DSid 的笔记本电脑有这个问题,但它在我的电脑上不存在。诡异的。
- 从 Sid 切换到稳定版,因为某些升级破坏了很多软件包。稳定感染了这个问题。然而,在删除 .cache 和 .config 后,它就消失了,并在重新启动后很快又回来了。我重试了同样的方法,但这次没有成功。
- 目前在 Xubuntu 上还没有这个问题。
- 请注意,我在每个发行版上使用了几乎相同的配置。我的主目录位于不同的分区上。因此,我可以无缝地迁移我的 / 。
- [更新] 2020 年 11 月 11 日 - Xubuntu 也被感染。
我终于放弃了。
[更新] 问题已解决。在搜索了这台电脑上存在的所有可能的组合键后,我发现是 qstardict 错误地吃掉了所有的 Control+t。禁用它,问题就解决了。
答案1
为了提供一些背景信息,以下内容来自Ctrl-h
k
Ctrl-t
:
Ct 运行命令 transpose-chars(在 global-map 中找到),这是“simple.el”中的交互式编译 Lisp 函数。
它与 Ct 绑定。
(转置字符 ARG)
围绕点交换字符,向前移动一个字符。使用前缀 arg ARG,效果是获取 point 之前的字符并将其向前拖动到 ARG 其他字符之上(如果 ARG 为负则向后拖动)。如果没有参数并且在行尾,则交换前两个字符。
换句话说:按下Ctrl-T
将翻转前两个字符的位置。我惊喜地发现这也适用于bash
:
$ tpo # press Ctrl-t
$ top
就我个人而言,使用此键盘快捷键没有遇到任何问题。例如bash
,emacs
它会正确地调换前面的字符,并且在网络浏览器中打开一个新选项卡。