我在Mac终端中通过Bash在shell模式下使用Emacs,并且Emacs不识别 C - / 作为撤消键。实际上似乎根本没有识别 C - / ,因为当我使用 Ch k C - / (即describe-key
然后 C - / )。有任何想法吗?用 C-x u 撤销是不能容忍的。
感谢。
答案 0 :(得分:32)
这里的问题是Emacs认为任何修饰键(control,shift,meta等)都可以应用于任何常规键。当Emacs直接与操作系统通信时,情况确实如此,但当它在传统(伪)终端内运行时不,这是您在ssh中使用emacs时所获得的。在这种情况下,只能使用映射到传统ASCII控制字符的修改键。 C - / 不是其中一个键。
好消息是,因为Emacs可以追溯到ASCII终端是城里唯一一款游戏的日子,undo
的另一个绑定是是一个ASCII控制字符: C -_ (控制下划线,又称control-shift-minus,又名U + 001F UNIT SEPARATOR)。
答案 1 :(得分:13)
终端无法发送 C - / 。您只需要在键入 C - / 时发送一个撤消别名,如 C -_ 。有两种相对简单的方法可以做到这一点:
对于应用程序>仅在终端启用>更改斜杠(/)键
答案 2 :(得分:1)
emacs键绑定在终端/控制台中变得很糟糕。它是一种皇室般的痛苦,但它通常可以修复。正如@Zach已经提到的,在终端中工作时密钥的发送方式不同。诀窍是确定发送给emacs的实际是什么,然后将其绑定到您希望执行的命令。 this is a pretty good(虽然陈旧)教程指导您尝试解决这些类型的问题(3.0是它开始进入您需要做的事情)。