Mir*_*lov 14 emacs elisp keyboard-shortcuts
我希望某些键和键组合在Emacs中表现为其他键或键组合.例如,我希望F5能够代替C-c涉及它的每个可能的组合,或者C-S-作为C-.如果不手动重新绑定所有这些组合键,是否可以这样做?
您所指的密钥称为"前缀密钥".前缀键具有自己的键映射,因此要使另一个键的行为相同,您需要将其分配给相同的键映射.对于control-c,您使用mode-specific-map:
(global-set-key (kbd "<f5>") mode-specific-map)
Run Code Online (Sandbox Code Playgroud)
控件本身不是前缀键,或者根本不是键,因为在你按下另一个键之前它不会向Emacs [1] 发送按键.我不确定如何在Emacs中重新映射CS-到C-.你可以使用xmodmap在系统范围内进行,但这可能不是你想要的.
[1]控制键(和shift,alt)确实向操作系统发送了一个按键,但Emacs没有"看到"这个,除非同时按下另一个键
我更喜欢
(define-key key-translation-map [f5] (kbd "\C-c"))
Run Code Online (Sandbox Code Playgroud)
这是一个很好的资源.
总结上面给出的链接:global-set-key的缺点是,当你定义一个键组合来输入一个符号时,它在isearch中不起作用.
key-translation-map也有问题.想象一下,您定义了一个符号|来执行命令并C-|输入符号|,按下C-|将执行该命令.
| 归档时间: |
|
| 查看次数: |
2221 次 |
| 最近记录: |