15

我希望某些键和组合键在 Emacs 中表现得像其他键或组合键。例如,我想作为涉及它的每个可能组合F5的替代品,或者作为. 是否可以在不手动重新绑定所有此类组合键的情况下做到这一点?C-cC-S-C-

4

2 回答 2

10

您所指的键称为“前缀键”。前缀键有自己的键映射,因此要使另一个键的行为相同,您需要将其分配给相同的键映射。对于 control-c,您使用mode-specific-map

(global-set-key (kbd "<f5>") mode-specific-map)

控件本身不是前缀键,或者根本不是键,因为它不会向 Emacs [1] 发送按键,直到您按下另一个键。我不确定如何在 Emacs 中将 CS- 重新映射为 C-。您可以使用 xmodmap 在系统范围内执行此操作,但这可能不是您想要的。

[1] 控制键(和 shift、alt)确实会向操作系统发送按键,但 Emacs 不会“看到”这一点,除非同时按下另一个键

于 2012-05-04T17:02:20.617 回答
7

我更喜欢

(define-key key-translation-map [f5] (kbd "\C-c"))

这是一个很好的资源

总结上面给出的链接: global-set-key 的缺点是,当你定义一个组合键来输入一个符号时,它在 isearch 中不起作用。

key-translation-map 也有问题。想象一下,您定义了一个符号|来执行命令并C-|输入符号|,按下C-|将执行命令。

于 2012-05-04T17:09:06.690 回答